从文件名中删除日期

时间:2019-07-05 10:41:37

标签: linux

我正在开发一种接受linux命令的工具。 我有来自不同来源的文件,我想从文件中删除日期,并且该工具支持'%F',即仅绝对文件名。

%F为 /Dir1/Subdir/ABC_20190101_PQR.csv
我想要的是 /Dir1/Subdir/ABC_PQR.csv

请帮忙。

我尝试了一些命令,但是没有用

我想要/Dir1/Subdir/ABC_PQR.csv

mv %F {%F//_{0-9}//_{}}

1 个答案:

答案 0 :(得分:1)

这样可以吗?

echo ${text} | sed -r 's/(.*)(_[[:digit:]]*_)(.*)/\1_\3/'

示例:

text="/Dir1/Subdir/ABC_20190101_PQR.csv"
echo ${text} | sed -r 's/(.*)(_[[:digit:]]*_)(.*)/\1_\3/'
/Dir1/Subdir/ABC_PQR.csv

这使用BASH。