shell 编程新手求解答--提取特定字符串

qydxy 2014-02-13 05:17:14
如何从一个文件中提取我需要的字符串?
文件test.txt中有一行字符串:
fdda=ecef fdfa=yhrr inre=rvs user=Tom dafae=rge ng=rfsf
现在需要写一个shell脚本提取对应user的值给变量var,也就是使var=Tom
脚本越简单越好,求大神帮忙,谢谢了!
...全文
212 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
autumn37 2014-02-16
  • 打赏
  • 举报
回复
sed '/user/ s/.*user.*=\(.*\).*/\1/' filename
autumn37 2014-02-16
  • 打赏
  • 举报
回复
var=$(cat filename | grep "user" | sed 's/.*user.*=\(.*\).*/\1/')
Linux-Torvalds 2014-02-14
  • 打赏
  • 举报
回复
$ var=$(awk 'BEGIN{FS="="}{for(i=1;i<=NF;i++)if($i~/user.id/)print $(i+1)}' test.txt) $ echo $var 123
ljc007 2014-02-14
  • 打赏
  • 举报
回复
var=`sed -r 's/.*user.id=([^ ]*).*/\1/' urfile`
mct123 2014-02-14
  • 打赏
  • 举报
回复
set var=`cat tmp | awk '{print $3}' | awk -F"=" '{print $2}'`
qydxy 2014-02-14
  • 打赏
  • 举报
回复
引用 1 楼 linwhwylb 的回复:
$ eval $(cat test.txt) $ var=$user
谢谢了 假如文本里的内容有这样的形式的:x.y=1 a.b=2 user.id=123 该怎么提取user.id呢?上面的语句貌似不行了
Linux-Torvalds 2014-02-13
  • 打赏
  • 举报
回复
$ eval $(cat test.txt) $ var=$user

23,217

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧