次のフォルダには多くのファイル名があります。xxxxxxxxx.zip
シェルスクリプトを使用して、すべてのファイルからドットの前の最後の2文字を削除する方法。
abcd12345678.zip
例えばabcd123456.zip
ベストアンサー1
シェルの内部では、変数拡張を使用できます。
fnameにファイル名が含まれている場合(abcd12345678.zip
例:)、次のことができます。
fname=abcd12345678.zip
ftail=${fname##*.}
fnew=${fname%??".$ftail"}
echo mv "$fname" "$fnew.$ftail"
ディレクトリ内のすべてのファイルを処理します(ファイルがすでに存在することを確認してください)。
for fname in *.zip; do
ftail=${fname##*.}
fnew="${fname%??".$ftail"}.$ftail"
if [ -e "$fnew" ]; then
echo "File $fnew already exist, not moving"
else
echo mv "$fname" "$fnew"
fi
done
うまくいくと思ったら、echo
前の項目を削除して実際にファイルを移動してください。echo mv ....