ファイル名に改行文字を含むファイルを見つけて操作する方法は?

ファイル名に改行文字を含むファイルを見つけて操作する方法は?

フォローアップファイル名に改行を含むファイルを見つける方法は?

結果に対していくつかの作業を行う必要があります。単純化のために結果を削除する必要があるとします。

以下を試しましたが、動作しません。

# this is what I usually use, not work
find . -name '*'$'\n''*' -type d |  while read a; do chown www.www "$a"; done

# this is more standard way, still not work
find . -name '*'$'\n''*' -type d | xargs chown www.www '{}'

ベストアンサー1

findファイルのリストを再分析せずにコマンドラインをビルドします。

LC_ALL=C find . -name $'*\n*' -type d -exec chown www:www {} +

少なくともGNUシステムでは、LC_ALL=C名前がユーザーのロケールで有効なテキスト以外のファイルを探していることを確認する必要があります。

おすすめ記事