我正在开发一种接受linux命令的工具。 我有来自不同来源的文件,我想从文件中删除日期,并且该工具支持'%F',即仅绝对文件名。
%F为 /Dir1/Subdir/ABC_20190101_PQR.csv
我想要的是 /Dir1/Subdir/ABC_PQR.csv
请帮忙。
我尝试了一些命令,但是没有用
我想要/Dir1/Subdir/ABC_PQR.csv
mv %F {%F//_{0-9}//_{}}
答案 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。