Portál AbcLinuxu, 14. května 2025 00:08

Dotaz: sed, vypsat slova na 4 znaky

14.6.2007 01:47 RedBoy
sed, vypsat slova na 4 znaky
Přečteno: 339×
Odpovědět | Admin
mám soubor, obsahující slova, každé slovo oddělené řádkem, a já bych rád vypsal jen ty co mají 4 znaky

zkoušel jsem
sed 's/\([a-z]\{4,4\}\)/\1/g' soubor
sed 's/\([a-z]\{4,4\}\)$/\1/g' soubor
sed 's/[a-z]\{4,4\}/!d' soubor 
bohužel ale
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

14.6.2007 06:49 Petr Zelenka | skóre: 24 | Semice/Stuttgart (Sindelfingen)
Rozbalit Rozbalit vše Re: sed, vypsat slova na 4 znaky
Odpovědět | | Sbalit | Link | Blokovat | Admin

egrep by nestačil? Například:

egrep '^\w{4,4}$'

Úpravu, aby se to vypořádalo s bílými znaky kolem slov, jistě už zvládneš sám.

A teď si uvědomte, jaký je vztah mezi krychlí a motýlem.
Marián Kyral avatar 14.6.2007 07:14 Marián Kyral | skóre: 29 | blog: Sem_Tam | Frýdek-Místek
Rozbalit Rozbalit vše Re: sed, vypsat slova na 4 znaky
Odpovědět | | Sbalit | Link | Blokovat | Admin
Co třeba grep?

$ cat soubor
marian
pavel
petr
jura
mura
bacha

$ grep  '^.\{4\}$' soubor
petr
jura
mura
Zdeněk Molík avatar 14.6.2007 07:49 Zdeněk Molík | skóre: 14 | Znojmo - Oblekovice
Rozbalit Rozbalit vše Re: sed, vypsat slova na 4 znaky
Odpovědět | | Sbalit | Link | Blokovat | Admin
Jestli jsem správně pochopil zadání tak velmi jednoduše ..

sed -n -e "/^....$/p" < in
Zdeněk Molík avatar 14.6.2007 07:53 Zdeněk Molík | skóre: 14 | Znojmo - Oblekovice
Rozbalit Rozbalit vše Re: sed, vypsat slova na 4 znaky
.. slova
sed -n -e "/^[A-Za-z][a-z][a-z][a-z]$/p" < in
14.6.2007 12:11 RedBoy
Rozbalit Rozbalit vše Re: sed, vypsat slova na 4 znaky
právě to mi nefunguje, kopíroval jsem to z windows, a nakonci řádku mi zůstal nějaký znak "^"

snažil jsem se to odstranit
sed 's/[ \t]*$//' soubor -i
sed 's/^[ \t]*//' soubor -i
ale nic
Zdeněk Molík avatar 14.6.2007 13:48 Zdeněk Molík | skóre: 14 | Znojmo - Oblekovice
Rozbalit Rozbalit vše Re: sed, vypsat slova na 4 znaky
To bude CR,LF
Není tam něco jako ^M na konci řádku?

Na to by pomohlo

sed -e "s/\r//"

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.