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: pacholik 10 Června 2009, 21:22:19
-
Dobrý den, chtěl bych najít text v souboru když vím, že je dejme tomu na 20. řádku na 8. pozici a je 3 znaky dlouhý a poslat ho do jiného souboru.
-
Třeba něco takovýho
sed '3!d' foo | awk '{print $3}' > jiny_soubor.txt
vytiskne 3 slovo nebo kombinaci znaků oddělených mezerou ze 3. řádku u souboru foo a uloží do jineho souboru, pokud již soubor existuje tak se přepíše, v tom případě tam dej >> a ono se to přidá na konec.
-
Pokud chces primo na 8. pozici 3 znaky, tak jeste takhle:
sed '3!d' foo | sed 's/^.\{7\}\(.\{3\}\).*$/\1/' > jiny_soubor.txt
-
Jo takhle, já jsem to pochopil jinak, jako že chce slovo na 8. pozici. Pokud chceš jen 3 písmena jako na 8,9,10 pozici tak LorD_OniX má pravdu.
-
thx, daný text mám na konci řádku, takže mi stačí
sed '20!d' foo | colrm 1 7 > jiny_soubor.txt
:)