Linux - ファイル名の最後の数文字を文字列に置き換える方法

Linux - ファイル名の最後の数文字を文字列に置き換える方法

ファイルのリストがあり、各ファイル名は次に終わり、(+1)ファイル名の「(+1)」を日付に変更したいと思います。

たとえば、ABC.DEF(+1)

次のようにファイル名を変更する簡単なソリューションを探しています。

ABC.DEF.20200127

答え1

変数置換を使用します。正直に言って Bash に慣れていますが、住宅検査、これはkshでも動作します。

filename="ABC.DEF(+1)"
newfilename="${filename%(+1)}".$(date +%Y%m%d) 

"${filename%(+1)}"ストリップ文字列(1)古いファイル名から。このdateコマンドは、年、月、日を印刷する形式を使用します。これは現在の日付が欲しいと仮定します。

関連情報