![Linux - 如何用字符串替换文件名的最后几个字符](https://linux22.com/image/187143/Linux%20-%20%E5%A6%82%E4%BD%95%E7%94%A8%E5%AD%97%E7%AC%A6%E4%B8%B2%E6%9B%BF%E6%8D%A2%E6%96%87%E4%BB%B6%E5%90%8D%E7%9A%84%E6%9C%80%E5%90%8E%E5%87%A0%E4%B8%AA%E5%AD%97%E7%AC%A6.png)
我有一个文件列表,每个文件名以 结尾(+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
命令采用打印年、月和日的格式。这假设您需要当前日期。