在目录中搜索文本文件,并为每个文件追加(静态)行

时间:2014-07-29 19:39:53

标签: linux bash file-io sed grep

我有一个目录,其中包含许多子目录和这些子目录中带有后缀的文件(例如FileA-suffixA FileB-SuffixB FileC-SuffixC FileD-SuffixA等)。

如何递归搜索具有特定后缀的文件,并将用户定义的文本行追加到这些文件中?我觉得这是grep和sed的工作,但我不确定如何去做。我对脚本很新,所以请耐心等待。

2 个答案:

答案 0 :(得分:2)

你可以这样做

find /where/to/search -type f -iname '*.SUFFIX' -exec echo "USER DEFINED STRING" >> \{\} \;
  1. find搜索提供的路径
  2. -type f仅查找文件
  3. -iname '*.SUFFIX'找到.SUFFIXed名称,忽略大小写

答案 1 :(得分:1)

find ./ -name "*suffix" -exec bash -c 'echo "line_to_add" >> $1' -- {} \;

基本上你使用find来获取文件列表。然后使用bash将你的行追加到该列表中。