ファイル名の中央の前の2文字を削除してください。

ファイル名の中央の前の2文字を削除してください。

次のフォルダには多くのファイル名があります。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 ....

おすすめ記事