日期:2014-05-16  浏览次数:20564 次

shell 编程新手求解答--提取特定字符串
如何从一个文件中提取我需要的字符串?
文件test.txt中有一行字符串:
fdda=ecef fdfa=yhrr inre=rvs user=Tom dafae=rge ng=rfsf
现在需要写一个shell脚本提取对应user的值给变量var,也就是使var=Tom
脚本越简单越好,求大神帮忙,谢谢了!
------解决方案--------------------
$ eval $(cat test.txt)
$ var=$user
------解决方案--------------------
var=`sed -r 's/.*user.id=([^ ]*).*/\1/' urfile`

------解决方案--------------------
$ var=$(awk 'BEGIN{FS="="}{for(i=1;i<=NF;i++)if($i~/user.id/)print $(i+1)}' test.txt)
$ echo $var
123