私はいくつかのフォルダに\n
名前と文字を付けています。
例えば:
$ ls
''$'\n''Test'
これは、テスト名があり、名前の前に空行があるフォルダーを参照しています。
したがって、このようなスクリプトをその親ディレクトリで実行すると、次のようになります。
while IFS= read -r d; do
rmdir $d
done < <(find * -type d)
それが示している:
rmdir: failed to remove '': No such file or directory
rmdir: failed to remove 'Test': No such file or directory
フォルダー名に2行あるため、2回実行さ\n
れTest
ます。
では、この問題を解決するにはどうすればいい\nTest
ですか?
find * -type d -print0 | while IFS= read -d '' file ; do rmdir $file ; done
コマンドにはこの出力があります rmdir: failed to remove 'Test': No such file or directory
。
rmdir "$file"
-print0
ディレクティブと-d
readオプションを使用する必要があります。stackoverflow.com/a/40189667/7552を