LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1315|回复: 4

如何将grep的结果整行的赋给一个变量

[复制链接]
发表于 2009-4-5 01:50:51 | 显示全部楼层 |阅读模式
请问大家

for var in `grep -rne "aText" .`
do
   something
done

如果grep结果是:

xxxx yyyyy
cccc dddd


那么var会在头一次循环中等于xxxx,第二次循环等于yyyyy。我怎么才能把这一整行赋给var呢?

谢谢。
发表于 2009-4-5 05:35:38 | 显示全部楼层
测试了一下
cat -A test0405a
123$
$
4$
5$
42$
43$


[root@localhost test]# for i in `grep '4' test0405a`;do echo $i ;done
4
42
43

直接就可以啊。^_^
回复 支持 反对

使用道具 举报

发表于 2009-4-5 15:04:11 | 显示全部楼层

用了个while循环实现,楼主看看。

  -bash-3.00$ cat test0405a
  123$
  $
  4$ hello
  5$
  42$ world
  43$ test
  
  ---------------------------------------------------------
  
  #!/bin/bash
  typeset -i n=$(grep "4" test0405a | wc -l)
  echo $n
  typeset -i m=1
  while [ $m -le $n ] ; do
   var=$(sed -n '/4/p' test0405a | sed -n "$m p")
   echo $var
   m=$m+1
  done
  
  --------------------------------------------------------
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-4-5 17:44:41 | 显示全部楼层
谢谢

3楼的答案很好。
回复 支持 反对

使用道具 举报

发表于 2009-4-6 13:00:00 | 显示全部楼层
http://www.linuxsir.cn/bbs/thread347256.html
同一个世界,同一个梦想,同一首歌,同一个道理,同一个解决方法...
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表