
基本的な使い方に満足デトックスファイル名を削除するためにスペースを常に単一の下線に変更したくないことを除いて。スペースを単一のスペースに置き換えたいと思います。
どうすればいいのかご存知ですか?
答え1
私はそれに慣れていませんが、それを使用して次のようにファイル名を変換できるdetox
ことを知っています。tr
$ echo "a_b__c" | tr -s '_' ' '
a b c
$ echo "a b c" | tr -s ' '
a b c
明らかにecho
コマンドをあなたのdetox
行に置き換えてください。
答え2
私は解読に慣れていませんが、ファイル名を一括変更する他のより柔軟な方法があります。
とともにPerlベースの名前変更ユーティリティrename
(このバージョンはDebianやその派生製品やprename
他のディストリビューションで利用可能です。)任意のPerlコードを指定してファイル名を変更できます。たとえば、現在のディレクトリのすべてのファイル名にある一連のスペースを単一のスペースに置き換えます。
rename 's/\s+/ /g' *
また、句読点の周りのスペースは削除され、.
下線を除く他の句読点とスペースシーケンスは置き換えられます。
rename 's/\s* \s*/ /g; s/\s*([^[:alnum:]_. ])[^[:alnum:].]//g' *
zshをシェルとして使用すると、素晴らしい機能を使用できますzmv
機能。これにより、現在のディレクトリのファイル名にある複数のスペースがautoload -U zmv
単一.zshrc
のスペースに圧縮されます。
zmv '*' '${f// ##/ }'