Fedora 29でこれを行うには、どのコマンドを使用できますか? [,] および - を削除する必要があります。可能であれば文字を削除してください。そうでなければ、喜んで「_」に変更します。 2,400を超えるファイルとディレクトリがあり、次の名前のサブディレクトリがあります。
TWENTY_ONE_PILOTS_-_DISCOGRAPHY_(2009-15)_CHANNEL_NEO]
ディレクトリを簡単に作成できるようにするために必要です。たとえば、
TWENTY_ONE_PILOTS_DISCOGRAPHY_2009_15_CHANNEL_NEO
私は試した:
find . -depth -name '*]*' -execdir bash -c 'for i; do mv "$i" "${i
│// /_}"; done' _ {} +
そして
for x in *]*; do mv -- "$x" "${x//[/}"; done
エンダー
rename 's/\(|\[|\]|\)//g' *
ベストアンサー1
あなたはそれを使用することができます:find . -exec sh -c './correct.sh {}' \;
!
上記のコマンドを実行したのと同じディレクトリに正しい.shを配置します。
#!/bin/bash
mv "$1" $(echo "$1" | sed's/_-_/_/g');
(忘れないでくださいchmod +x correct.sh
!)
これは非常にエレガントな解決策ではありませんが、うまくいきます。-exec
オプションであり、find
ファイルの各名前、上記の手順(ここsh -c '...'
)に対して実行され、{}をファイル名に変更することを除いて、すべてが自明です!バラよりマニュアルページを探すより多くの情報を知りたいです。
ファイルディレクトリの名前だけを変更したい場合は、-type d
検索オプションに入れてください。もちろん、必要に応じてsedを変更して、必要なものを変更できます。