次のファイルの名前を変更する必要があります。.job-209675
次に始まるファイル名を削除したいのですが、SOA
そのディレクトリに別のファイルがあるので、元のファイル名はそのままにしたいと思います。
たとえば、
前:./SOA_990377897NW0001_1557340549734.xml.job-2074645
後:./SOA_990377897NW0001_1557340549734.xml
ベストアンサー1
変数にfilename
ファイルの1つの名前が含まれている場合、${filename%.job-*}
名前の最後の点の後にビットはありません。
ファイル名を繰り返すには、各ファイルの名前を順番に変更します。
for filename in SOA_*.job-*; do
echo mv -i "$filename" "${filename%.job-*}"
done
これはecho
保護のためのものです。ループを一度実行して出力を確認し、正しいと思われる場合はecho
削除する必要があります。この-i
オプションをmv
使用すると、既存のファイルを上書きする前に確認を要求します。
これは、関連するすべてのファイル(他のファイルを除く)がパターンと一致するとSOA_*.job-*
仮定します。