3

フォルダ内のすべてのファイルの最後に行を追加したいと思います。私は使用できることを知っています

echo apendthis >> file

文字列を単一のファイルに追加します。しかし、これを再帰的に行うための最良の方法は何ですか?

4

3 に答える 3

8
find . -type f -exec bash -c 'echo "append this" >> "{}"' \;
于 2013-03-24T22:07:17.140 に答える
2

文字通りまたは比喩的に...

文字通りまたは比喩的に解釈されることを意味しますか?特に再帰的なソリューションを本当に探している場合は、次のように行うことができます。

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)を使用するとはるかに簡単になります。

于 2013-03-24T22:14:27.640 に答える
1

別の方法は、ループを使用することです。

find . -type f | while read i; do
    echo "apendthis" >> "$i"
done
于 2013-03-24T22:09:05.223 に答える