Portál AbcLinuxu, 11. května 2025 06:36
Řešení dotazu:
'This homework took 300 seconds, not less.' | sed 's/^\(.*\)\(seconds.*\)/\1/'
echo 'This homework took 300 secondxs, not less.' | sed 's/^\(.*\)\(seconds.*\)/\1/' This homework took 300 secondxs, not less.takže správně je to takto:
echo 'This homework took 300 seconds, not less.' | sed -n 's/^\(.*\)\(seconds.*\)/\1/p' This homework took 300 echo 'This homework took 300 secondxs, not less.' | sed -n 's/^\(.*\)\(seconds.*\)/\1/p'
echo -e 'Begin\nThis homework took 300 seconds, not less.\nEnd' | sed -n '/seconds/{s/^\(.*\)\(seconds.*\)/\1/p;q};p'
sed -n 's/^.*[^0-9]\([0-9]\+\)\s*seconds.*$/\1/p'Předpokládám, že výsledkem má být jen to číslo.
a="111 seconds" [[ "$a" =~ ([0-9]+)[[:blank:]]*seconds ]] echo ${BASH_REMATCH[1]}
#!/bin/bash echo -ne "raz dva 30 seconds\ntri ctyri osm padesat\nx y z 54 seconds\n" | \ awk '{for(i = 2; i <= NF; i++) if ($(i) == "seconds") print $(i-1);}'
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.