すべてのファイル名からアポストロフィを削除する

すべてのファイル名からアポストロフィを削除する

ディレクトリ内のすべてのファイル名からアポストロフィを削除してみました。

for i in *; do mv $i `echo $i | tr -d "'"`; done

このコマンドを実行した後、名前は変更されません。

ここで何が問題なのかご存知ですか?

ベストアンサー1

次のように試すことができます(bash)。

shopt -s nullglob
for i in *\'* ; do mv -v "$i" "${i/\'/}" ; done

これはシェル文字列置換を使用します。'含まれていないファイルは失敗する可能性があるため、使用したくありませんmv。このオプションがない場合、一致するファイルがない場合はnullglobglobパターン自体が渡されます。mv

おすすめ記事