+ -
当前位置:首页 → 问答吧 → grep 结果过长的问题 急!!

grep 结果过长的问题 急!!

时间:2011-07-11

来源:互联网

for recode in `grep searchkey infile`;do
  echo $recode
done

当检索结果过长的情况
比如,结果为abcd...................12345.....
会被切成2,3行 结果输出后
adcd............
12345......
.....

怎么才能不被切呢??

作者: linux_kim   发布时间: 2011-07-11

你忘了加引号了,不是检索结果过长导致的, Try
for recode in "`grep searchkey infile`"; do
  echo $recode
done

作者: ryh19860922   发布时间: 2011-07-11

回复 linux_kim

try:
    grep code |while read line
do
echo $line
done

作者: yinyuemi   发布时间: 2011-07-11



QUOTE:
你忘了加引号了,不是检索结果过长导致的, Try
for recode in "`grep searchkey infile`"; do
  echo $rec ...
ryh19860922 发表于 2011-07-11 16:19




    谢谢,又犯低级错误了:em16:

作者: linux_kim   发布时间: 2011-07-11

回复 linux_kim


这段代码
for recode in `grep searchkey infile`;do
  echo $recode
done
和直接 grep searchkey infile 是一样的

如果你想处理取出来的行,那么建议你使用 awk ,会少很多麻烦

作者: ly5066113   发布时间: 2011-07-11



QUOTE:
你忘了加引号了,不是检索结果过长导致的, Try
for recode in "`grep searchkey infile`"; do
  echo $rec ...
ryh19860922 发表于 2011-07-11 16:19




检索结果为单行的时候是没问题
结果为复数行的时候也变成一行了。。。怎么解决阿?

作者: linux_kim   发布时间: 2011-07-11

回复 linux_kim

再加一个引号
for recode in "`grep searchkey infile`"; do
  echo "$recode"
done

作者: ryh19860922   发布时间: 2011-07-11

那我的循环不就没意义了吗?
我是要把检索出来的行循环,然后对每行进行处理。。。

作者: linux_kim   发布时间: 2011-07-11

感觉应该跟你的终端的大小有关的 看看能不能限制下大小!
你可以最大化终端看看

作者: 2005wind   发布时间: 2011-07-11

怎看啊?:shock:

作者: linux_kim   发布时间: 2011-07-11

热门下载

更多