递归地使用“echo append>>文件”

时间:2013-03-24 21:59:50

标签: bash append echo

我想在文件夹中的每个文件的末尾添加一行。我知道可以用

echo apendthis >> file

将字符串附加到单个文件。但是递归执行此操作的最佳方法是什么?

3 个答案:

答案 0 :(得分:7)

find . -type f -exec bash -c 'echo "append this" >> "{}"' \;

答案 1 :(得分:2)

字面意思或比喻......

你的意思是 recusively 是字面上还是比喻上的?如果你真的在寻找一个特定的递归解决方案,你可以这样做:

operate () {
  for i in *; do
    if [ -f "$i" ]; then
      echo operating on "$PWD/$i"
      echo apendthis >> "$i"
    elif [ -d "$i" ]; then
      (cd "$i" && operate)
    fi
  done
}

operate

否则,就像其他人所说的那样,使用find(1).

会更容易

答案 2 :(得分:1)

另一种方法是使用循环:

find . -type f | while read i; do
    echo "apendthis" >> "$i"
done