Portál AbcLinuxu, 4. července 2025 06:17


Dotaz: Tranformace tri sloupcu do jednoho

6.10.2012 12:02 Karel Marhoul
Tranformace tri sloupcu do jednoho
Přečteno: 180×
Odpovědět | Admin
Dobry den,

pokud mam soubor s nasledujicim obsahem (tri sloupce):
asd   asdasd     hhhj
fff   klk        3jj3
ddd   kllpp      333
ggg   eee
Jak z nej muzu co nejjednoduseji vytvorit soubor takovy (jeden sloupec):
asd
asdasd
hhhj
...
ggg 
eee

Na poradi tech zaznamu ve vyslednem soubor nezalezi, jelikoz na konci stejne provedu sort -u.

Řešení dotazu:


Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

6.10.2012 12:12 Martin Doucha | skóre: 23 | blog: Yet another blog
Rozbalit Rozbalit vše Re: Tranformace tri sloupcu do jednoho
Odpovědět | | Sbalit | Link | Blokovat | Admin
while read a b c; do
    echo -e "$a\n$b\n$c"
done <soubor
6.10.2012 12:27 Karel Marhoul
Rozbalit Rozbalit vše Re: Tranformace tri sloupcu do jednoho
Diky, ale potreboval bych nejaky "one-liner" abych ho mohl zretezit s dalsimi transformacemi toho souboru (napr jiz zminenym sort -u).
Jakub Lucký avatar 6.10.2012 12:31 Jakub Lucký | skóre: 40 | Praha
Rozbalit Rozbalit vše Re: Tranformace tri sloupcu do jednoho
A proč si to nezinlajnujete sám?

cat file | while read a b c; do echo -e "$a\n$b\n$c";done | sort -u
If you understand, things are just as they are; if you do not understand, things are just as they are.
6.10.2012 12:27 Kit
Rozbalit Rozbalit vše Re: Tranformace tri sloupcu do jednoho
Odpovědět | | Sbalit | Link | Blokovat | Admin
sed 's/  */\n/g' <data.txt
6.10.2012 12:41 Kit
Rozbalit Rozbalit vše Re: Tranformace tri sloupcu do jednoho
sed 's/  */\n/g' <data.txt | sort -u
Vždy se snažím vyhnout cyklům v Bashi, protože jsou děsně líné.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.