Linux 从文件名中删除日期
我正在开发一个接受linux命令的工具。 我有来自不同来源的文件,我想从文件中删除日期,并且工具支持“%F”,即仅支持绝对文件名 %F是Linux 从文件名中删除日期,linux,Linux,我正在开发一个接受linux命令的工具。 我有来自不同来源的文件,我想从文件中删除日期,并且工具支持“%F”,即仅支持绝对文件名 %F是/Dir1/Subdir/ABC\u 20190101\u PQR.csv 我想要的是/Dir1/Subdir/ABC_PQR.csv 请帮忙 我试过一些命令,但都不管用 我想要/Dir1/Subdir/ABC_PQR.csv mv %F {%F//_{0-9}//_{}} 这样行吗 echo ${text} | sed -r 's/(.*)(_[[:digi
/Dir1/Subdir/ABC\u 20190101\u PQR.csv
我想要的是
/Dir1/Subdir/ABC_PQR.csv
请帮忙
我试过一些命令,但都不管用
我想要/Dir1/Subdir/ABC_PQR.csv
mv %F {%F//_{0-9}//_{}}
这样行吗
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。您使用什么shell?这个支持“%F”的工具是什么?很难为未指定的工具提供语法建议。查看它的文档。
sed-E
比sed-r
更便于携带。(例如,它将在非gnu-sed上工作,在macos中很常见)相同:sed-E的/[:digit:]{8}}//'