フォルダ内のすべてのファイルの最後に行を追加したいと思います。私は使用できることを知っています
echo apendthis >> file
文字列を単一のファイルに追加します。しかし、これを再帰的に行うための最良の方法は何ですか?
find . -type f -exec bash -c 'echo "append this" >> "{}"' \;
文字通りまたは比喩的に解釈されることを意味しますか?特に再帰的なソリューションを本当に探している場合は、次のように行うことができます。
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)を使用するとはるかに簡単になります。
別の方法は、ループを使用することです。
find . -type f | while read i; do
echo "apendthis" >> "$i"
done