Fórum Ubuntu CZ/SK

Ubuntu pro osobní počítače => Software => Příkazový řádek a programování pro GNU/Linux => Téma založeno: basfot 02 Listopadu 2008, 21:35:24

Název: Terminal - rada s texťáky
Přispěvatel: basfot 02 Listopadu 2008, 21:35:24
Potřebobal bych pomoct s následujícími problémy:
1) Mám soubor: a.txt  ....chci ho setridit podle abecedy a vysldek ulozit opet do a.txt ... toto nefunguje:  sort a.txt | cat > a.txt
Jak to chci pridat tak toto funguje normalne: sort a.txt | cat >> a.txt    ale s tim prepisem je to horsi.

2) Mám soubor b.txt a něm  Alice další řadek Antoš atd..... Chtěl bych aby vysledek byl opět ve stejnem souboru a každé slovo zdvojené: Alice nový řádek: Alice nový řádek Antoš nový řádek: Anoš atd..

Díky
Název: Re: Terminal - rada s texťáky
Přispěvatel: Martin Kiklhorn 02 Listopadu 2008, 22:05:13
1) mv a.txt temp.txt && sort temp.txt > a.txt && rm temp.txt
2) cp a.txt temp.txt && cat a.txt >> temp.txt && sort temp.txt > a.txt && rm temp.txt

3) určitě by to šlo elegantněji  ;)
Název: Re: Terminal - rada s texťáky
Přispěvatel: premet 02 Listopadu 2008, 22:31:53
2) Jen tak sem zkoušel a jiné řešení třeba
Kód: [Vybrat]
#!/usr/bin/perl
use locale;
while ($radek = <>) {
  chomp($radek);
  print "$radek\n";
  print "$radek\n";
}
A pak
Kód: [Vybrat]
./perl.pl a.txt | sort > x.txt
Název: Re: Terminal - rada s texťáky
Přispěvatel: basfot 02 Listopadu 2008, 23:07:36
kiklhorn -->  paráda...funguje, elegantnější řešení jsou vítáná :-)
Premet --> to je asi pro pokrocilejsi, s linuxem jsem teď začal, takže nevím co s tím

Díky moc zatím !!!
Název: Re: Terminal - rada s texťáky
Přispěvatel: premet 03 Listopadu 2008, 09:35:59
Vytvoříš si skript, který bude obsahovat tohle a pojmenuješ ho třeba perl.pl. Pak si otevřeš terminál a zadáš
Kód: [Vybrat]
chmod +x perl.pl tím mu nastavíš právo na spuštění a pak už ho používáš
Kód: [Vybrat]
./perl.pl jmena.txt | sort > x.txtcož znamená, že mu jako data dáš soubor jmena.txt ten co chceš setřídit, pak to přesměruješ na sort a výsledek uložíš do souboru.