Skrypt pilnie potrzebny

Problemy techniczne, windows/linux, bany i wszystko to co konczy sie na "z góry dzięki za pomoc".

Moderators: Faflok, Wloczykij, Thanatos

Locked
User avatar
BloodSucker
Radny
Posts: 2133
Joined: Thursday, 4.11.2004, 23:56
GG: 2669914
Location: Sobótka / Wrocław
Contact:

Skrypt pilnie potrzebny

Post by BloodSucker »

Ano taki dylemat mi się zrodził, mam dużą tabelę w excelu, którą muszę przetasować, problem w tym, że robienie tego ręcznie, zajmie mi olbrzymią ilość czasu... wpadłem więc na pomysł żeby przepuścić to przez jakiś skrypt (awk? bash? może sam excel?). Ale tu brakuje mi wiedzy.

Swoje dane już na tyle poprzestawiałem, że problem sprowadza się do czegoś takiego:
Mam dwa wiersze, w pierwszym wypisane cyfry, w drugim litery. Takich par jest ponad 200. I cały myk ma polegać na tym:
Krok pierwszy, cyfra 1:
1. Skrypt sprawdza pierwszy wiersz, jeśli znajduje w nim cyfrę 1 to kopiuje zawartość drugiego wiersza do zmiennej np. wynik1
2. Skrypt sprawdza trzeci wiersz, jeśli znajduje w nim cyfrę 1, dodaje do zmiennej wynik1 zawartość czwartego wiersza

I tak po ostatni wiersz, potem jest Krok 2, cyfra 2 i wynik do zmiennej wynik2. Ważne żeby skrypt szukał cyfr w wierszach nieparzystych, a do zmiennych kopiował zawartość wierszy parzystych.
Skrypt może być odpalany kilka razy, za każdym po prostu z innym parametrem, najważniejsze, żeby otrzymany wynik był jednym ciągiem znaków.

Oto przykładowe dane:

1;7;14;15;17;16;19;30;
T;Or;Efe;G;K;N;L
1;4;5;7;28;29;
T;Or;K;G;K;W;L J
1;2 ;6;7;8;10;15;16;20;21;24;25;26;29;32;
T;Or;Erg;G;L;S W;L J
6;7;8;10;21;24;26;29;
T;Pl;Erg;G;K;N;L J
1;6;7;9;10;15;17;19;24;26;29;30;
T;Or;Erg;G;K;N;J

A pożądany wynik to coś w rodzaju:
wynik1=T;Or;Efe;G;K;N;L;T;Or;K;G;K;W;L J;T;Or;Erg;G;L;S W;L J
(...) It could be made into a monster if we all pull together as a team... but if the band you're in starts playing different tunes, I'll see you on the dark side of the moon.
User avatar
Lotheneil
Guild Master
Posts: 560
Joined: Friday, 14.07.2006, 15:19
GG: 0
Location: Wołomin

Re: Skrypt pilnie potrzebny

Post by Lotheneil »

Jako że na skryptach nie znam się wcale, udało mi się uzyskać jedynie wynik typu:
1;1;1;1;2;3;3;7;14;15;17
T;efe;a;org;of;BR;of;Or;T;B;Org
(czyli sortowanie +oddzielenie wartości średnikami) - jeśli nikt nic lepszego nie wymyśli a ten wynik Cię satysfakcjonuje (albo ktoś wykombinuje co z tym zrobić dalej) napiszę co wymyśliłam :)
User avatar
BloodSucker
Radny
Posts: 2133
Joined: Thursday, 4.11.2004, 23:56
GG: 2669914
Location: Sobótka / Wrocław
Contact:

Re: Skrypt pilnie potrzebny

Post by BloodSucker »

Dzięki za pomoc Lothe, ale z tym skryptem nie jest aż tak łatwo...

Ogólnie, to chodzi o to, że te cyfry to numery cmentarzy - od 1 do 33, natomiast te symbole poniżej, to rośliny na nich występujące. Wynik skryptu ma pomóc zliczyć ile danych roślin było na konkretnym cmentarzu*.

Jeśli mi się uda uzyskać string, w którym dla jednego, konkretnego cmentarza, mam symbole wszystkich roślin, owe będzie łatwo już podsumować (nawet ręcznie) i otrzymać wynik.



*- to do pracy magisterskiej siostry.
(...) It could be made into a monster if we all pull together as a team... but if the band you're in starts playing different tunes, I'll see you on the dark side of the moon.
User avatar
Creedka
Guild Master
Posts: 2359
Joined: Saturday, 30.10.2004, 19:40
GG: 0
Location: Dublin

Re: Skrypt pilnie potrzebny

Post by Creedka »

z tech-talku Liara wynika, ze wie o co Ci chodzi i jutro na to spojrzy, bo teraz jakis wlasny projekt maltretuje... pomecz go na gadu, bo on moze zapomniec :)
Image
User avatar
BloodSucker
Radny
Posts: 2133
Joined: Thursday, 4.11.2004, 23:56
GG: 2669914
Location: Sobótka / Wrocław
Contact:

Re: Skrypt pilnie potrzebny

Post by BloodSucker »

wsPaniAle!

Dżin z tonikiem gwarantowany! (sic!)
(...) It could be made into a monster if we all pull together as a team... but if the band you're in starts playing different tunes, I'll see you on the dark side of the moon.
User avatar
Creedka
Guild Master
Posts: 2359
Joined: Saturday, 30.10.2004, 19:40
GG: 0
Location: Dublin

Re: Skrypt pilnie potrzebny

Post by Creedka »

ststy lub niestety, ale nastapila zmiana PLanow...
przez ten projekt, ktory maltretowal do nocy dzisiaj musi jechac do Wroclawia... niestety, bo raczej nie bedzie mogl sie Twoim skryptem dzis zajac, ale stety, bo my wszyscy wiemy kto mieszka we Wroclawiu :>

Z tego co mowil, to jutro kolo 15bedzie juz po pracy, wiec mozecie isc do Spiza lub Mleczarni i sie tym zajac :)

Twoj nr mu dam jak wpadnie do domu sie spakowac :)
Image
User avatar
Ulrih
PL-ka
PL-ka
Posts: 401
Joined: Friday, 5.11.2004, 01:37
GG: 4285103
Location: nagły nawrót lata

Re: Skrypt pilnie potrzebny

Post by Ulrih »

Code: Select all

#!/bin/bash
if test ! "$#" = "1"
    then echo "Niewlasciwa liczba argumentow"; exit 2;
fi
if test ! -f "$1"
    then echo "Arg nie jest plikiem"; exit 1;
fi
awk '
    BEGIN { FS=";"}
    1 {wyjscie="out" $1;
        getline;
        print s;
        print $0 >> wyjscie;
        }
    ' $1
Dopisuje parzyste linie argumentu do plików o nazwach outXX, gdzie XX jest ciągiem znaków znajdujących się przed pierwszym średnikiem w linii poprzedzającej zapisywaną.
Niezbyt eleganckie, bo nie sprawdza czy XX jest liczbą, ani co tak naprawdę znajduje się w liniach.
Miał jeden ojciec trzy cery...
User avatar
BloodSucker
Radny
Posts: 2133
Joined: Thursday, 4.11.2004, 23:56
GG: 2669914
Location: Sobótka / Wrocław
Contact:

Re: Skrypt pilnie potrzebny

Post by BloodSucker »

Creedka ==> A niech dzwoni śmiało! :)

Ulrih --> Dzięki, wypróbuję :)
(...) It could be made into a monster if we all pull together as a team... but if the band you're in starts playing different tunes, I'll see you on the dark side of the moon.
Locked