+ -
当前位置:首页 → 问答吧 → bash script 简化, 识 scripting 麻烦帮手

bash script 简化, 识 scripting 麻烦帮手

时间:2013-09-30

来源:互联网

纯兴趣, 其实以下已经 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, 好似得, 但试黎试去都唔成功

作者: tleung11   发布时间: 2013-09-30

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

作者: lohengrin   发布时间: 2013-09-30

引用:原帖由 lohengrin 於 2013-8-9 11:32 PM 发表
echo $sentence | sed -n 's/[^0-9]*\([0-9][0-9]*\) abc.*/\1/p'
我以为 /p 个效果同 grep 差唔多添, 试下先, thanks

作者: tleung11   发布时间: 2013-09-30