Portál AbcLinuxu, 10. srpna 2025 14:19
slovo1 slovo2 slovo3 slovo4 slovo5a potřebuji z něj vytáhnout "slovo2", ale neznám jeho hodnotu ani "délku" předem. Prostě bych potřeboval, aby sed odstranil vše před a za ním na řádku (jenomže nejdřív je potřeba nějak prográmku sed říci, ať pracuje se slovy...). 2) I kdyby se to podařilo (asi odstraněním prvního slova + 3. a všeho déle až do konce řádku), je potřeba odstranit ty mezery
(" slovo2 ")Zkoušel jsem různé variace sed 's/ *$//g', ale nic, zřejmě na to jdu špatně. 3) Jak mohu oddělit více příkazů v {} pri použití ve scriptu? \n , \ , ; ani mezera nefungují.. Děkuji za případné reakce.
sed 's/\([[:alnum:]]* *\)\{3\}\([[:alnum:]]*\).*/\1/
ponechá třetí slovo. Ale doporučuji si pročíst manuálovou stránku k editoru ed.
'slovo1 slovo2 slovo3 slovo4 slovo5'.split()[1]vrátí
'slovo2'Něco podobného se řešilo v této diskusi:
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.