用Grep循环一个目录(新手)

时间:2011-12-29 06:42:07

标签: bash loops grep

我正在尝试循环遍历脚本所在的当前目录,其中有一堆以_list.txt结尾的文件我想grep每个文件名并将其分配给变量然后执行一些其他命令,然后转到下一个文件,直到没有更多_list.txt文件要处理。

我认为我想要这样的东西:

while file_name=`grep "*_list.txt" *`
do
   Some more code
done

但这并不像预期的那样有效。有关如何完成这项新手任务的任何建议吗?

提前致谢。

2 个答案:

答案 0 :(得分:2)

如果我理解你的问题不正确,则不需要grep。你可以这样做:

for file in *_list.txt
do
# use $file, like echo $file
done

答案 1 :(得分:0)

grep是Unix最有用的命令之一。你必须好好理解它;看一些有用的examples here。就您当前的要求而言,我认为以下代码将非常有用:

for file in *.* 
do
  echo "Happy Programming"
done

代替*.*,您也可以使用正则表达式。有关更多此类有用示例,请参阅First Time Linux,或使用grep阅读终端上的所有man grep选项。