如何用grep返回以“213 ”开头的行且返回“213 ”以后的字符串?(详见内)
比如in.data文件内容如下
-----------------------
210 HELO
213 12345
323 YES
-----------------------
那么我期望的到的结果是“12345”
如何使用grep来完成,谢过各位大侠!!
注:我尝试使用如下命令但是取不到
ret=`grep '213 (.*?)$ '` in.data
echo $ret
------解决方案--------------------光grep貌似无法达到这样的目的吧,grep返回的是整行,我也不清楚是否有这样的功能。加上sed就肯定没问题了。
grep '^213 .*$ ' in.data |sed 's/^213 //g '
管道后面的sed的功能是把grep搜索结果中开头的213删掉。
------解决方案--------------------cat in.datam |grep ^213 |read ret
echo $ret
------解决方案--------------------用这个试试:
grep ^213 in.data|cut -d ' ' -f 2
或
ret=`grep ^213 in.data|cut -d ' ' -f 2`
echo $ret