Portál AbcLinuxu, 8. května 2025 16:10
Nevite nekdo nahodou jak vypsat jen cast pred urcitym znakem? (tedy v nize uvedenym priklade jen retezec 'tohle' delimiter je dvojtecka)
echo 'jen tohle : to uz ne' |sed ?
Diky
Co třeba:
sed -e 's/:.*//'
sed 's/\(.*\):.*/\1/
diky, to je presne ono :)
Jenže tohleto ti sežere více dvojteček, než autor patrně zamýšlel. Regulární výrazy jsou hladové.
$ echo 'asd : efg : hij' | sed -e 's/\(.*\):.*/\1/' asd : efg
No, a já to bral zase tak, že se chce zbavit všeho od první dvojtečky.
Jenom na doplněni: sed je na takovouhle trivialni vec tak trosku "kanon na vrabce". Na to mate v linuxu prikaz cut:
echo "jen tohle : tohle uz ne" | cut -d ":" -f 1
nejak se to tu rozjelo :)
ano, kanon to mozna je, ale ono nejde o to, ze je to kanon, ale o to, ze nic jineho neumim :(
kazdopadne jeste jednou dik vsem zucasnenym
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.