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命令采用打印年、月和日的格式。这假设您需要当前日期。

相关内容