例によってFishスクリプトの備忘録。これのあとにゼロ埋めすること多し。
はじめに:
カレントディレクトリに存在する (数字).jpg 形式のファイル名から括弧 () を取り除く方法について、BashシェルとFishシェルでの簡単なワンライナーを紹介します。
Bash シェル:
Bash シェルでは、次のワンライナーで、カレントディレクトリにある全ての (*).jpg ファイル名から括弧を取り除くことができます。
for file in *'('*')'*.jpg; do mv "$file" "${file//\(/}"; done
for file in *')'*.jpg; do mv "$file" "${file//\)/}"; done
これにより、例えば (123).jpg というファイル名が 123.jpg に変更されます。
Fish シェル:
Fish シェルでは、以下のワンライナーで同様の操作が可能です。
for file in *'('*')'*.jpg; set new_file (string replace -ra '[()]' '' $file); mv $file $new_file; end
この Fish シェルのワンライナーは、カレントディレクトリに存在する (数字).jpg 形式のファイル名から、左括弧 ( と右括弧 ) を両方正しく取り除きます。
まとめ:
ファイル名から特定の文字を取り除くことは、ファイルの整理や管理を助けます。Bash シェルと Fish シェルのどちらでも、簡単なワンライナーでこの操作を行うことができます。