ファイル名が「ab c.jpg」、「def 0.jpg」、「gh i.jpg」のディレクトリがあります
「0.jpg」で終わるすべてのファイルを「_0.jpg」にするスクリプトが必要です
したがって、上記の例では、2 番目のファイルは「de f_0.jpg」になります。
あなたの質問は、「0.jpg」で終わるファイルを「_0.jpg」にする必要があると読むべきだと思います(最初の引用符のスペースに注意してください)。それはあなたの例では理にかなっています。
for i in *\ 0.jpg ; do
mv -- "$i" "${i/ 0.jpg/_0.jpg}"
done
つまり、パターン「* 0.jpg」に一致するすべてのファイルについて、「0.jpg」を「_0.jpg」に置き換えて名前を変更します。
編集: 安全性を高めるために、 -n
(no-clobber) または-i
(interactive) を のオプションとして使用することを検討してmv(1)
ください。
ツールはrename
必要なものかもしれません。
ls -1 | grep .jpg | awk -F "." '{print $1 "_0." $2}'