查看完整版本 : bash script 簡化, 識 scripting 麻煩幫手

tleung11 2013-8-9 11:53 AM

bash script 簡化, 識 scripting 麻煩幫手

純興趣, 其實以下已經 work, 但係我覺得太複雜, 想簡化佢;
echo "This is a sentense, to get my number, find my keyword, 16:9, 24 abc, 24 def, 24/24, 24 the"|awk -F' abc' '{print $1}'|awk -F', ' '{print $NF}'

肯定 abc 只會出現一次, 同埋好多逗號, 其他可以係 random.
expected output: "24 abc" 既 24, 其他都唔要. 即係:
24

有無其他 command 可以用? 想試下:
1. awk regular expression, 但係諗唔到
2. variable substitution, 好似得, 但試黎試去都唔成功

lohengrin 2013-8-9 11:32 PM

回覆 1# 的帖子

echo $sentence | sed -n 's/[^0-9]*\([0-9][0-9]*\) abc.*/\1/p'

tleung11 2013-8-12 02:51 AM

[quote]原帖由 [i]lohengrin[/i] 於 2013-8-9 11:32 PM 發表 [url=http://computer.discuss.com.hk/redirect.php?goto=findpost&pid=369035023&ptid=22287405][img]http://computer.discuss.com.hk/images/common/back.gif[/img][/url]
echo $sentence | sed -n 's/[^0-9]*\([0-9][0-9]*\) abc.*/\1/p' [/quote]我以為 /p 個效果同 grep 差唔多添, 試下先, thanks
頁: [1]
查看完整版本: bash script 簡化, 識 scripting 麻煩幫手