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
-
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
-
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 ;)
-
2) Jen tak sem zkoušel a jiné řešení třeba
#!/usr/bin/perl
use locale;
while ($radek = <>) {
chomp($radek);
print "$radek\n";
print "$radek\n";
}
A pak ./perl.pl a.txt | sort > x.txt
-
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 !!!
-
Vytvoříš si skript, který bude obsahovat tohle a pojmenuješ ho třeba perl.pl. Pak si otevřeš terminál a zadáš
chmod +x perl.pl
tím mu nastavíš právo na spuštění a pak už ho používáš./perl.pl jmena.txt | sort > x.txt
což 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.