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
Skrypt pilnie potrzebny
Moderators: Faflok, Wloczykij, Thanatos
- BloodSucker
- Radny
- Posts: 2133
- Joined: Thursday, 4.11.2004, 23:56
- GG: 2669914
- Location: Sobótka / Wrocław
- Contact:
Skrypt pilnie potrzebny
(...) 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.
Re: Skrypt pilnie potrzebny
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 :)
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 :)
- BloodSucker
- Radny
- Posts: 2133
- Joined: Thursday, 4.11.2004, 23:56
- GG: 2669914
- Location: Sobótka / Wrocław
- Contact:
Re: Skrypt pilnie potrzebny
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.
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.
Re: Skrypt pilnie potrzebny
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 :)
- BloodSucker
- Radny
- Posts: 2133
- Joined: Thursday, 4.11.2004, 23:56
- GG: 2669914
- Location: Sobótka / Wrocław
- Contact:
Re: Skrypt pilnie potrzebny
wsPaniAle!
Dżin z tonikiem gwarantowany! (sic!)
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.
Re: Skrypt pilnie potrzebny
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 :)
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 :)
Re: Skrypt pilnie potrzebny
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
Niezbyt eleganckie, bo nie sprawdza czy XX jest liczbą, ani co tak naprawdę znajduje się w liniach.
Miał jeden ojciec trzy cery...
- BloodSucker
- Radny
- Posts: 2133
- Joined: Thursday, 4.11.2004, 23:56
- GG: 2669914
- Location: Sobótka / Wrocław
- Contact:
Re: Skrypt pilnie potrzebny
Creedka ==> A niech dzwoni śmiało! :)
Ulrih --> Dzięki, wypróbuję :)
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.