【发布时间】:2011-05-05 07:06:21
【问题描述】:
我想运行一个 bash 脚本以递归方式清理目录中的每个文件名。例如我有文件名:
The.Sarah.Jane.Adventures.S04E07.The.Empty.Planet.Part1.WS.PDTV.XviD-BiA.[sharethefiles.com].avi The.Sarah.Jane.Adventures.S04E08.The.Empty.Planet.Part2.WS.PDTV.XviD-BiA.[sharethefiles.com].avi
我想把文件转换成:
莎拉·简历险记 S04E07 空荡荡的星球 Part1.avi
莎拉·简历险记 S04E07 空荡荡的星球 Part2.avi
所以我有这个 sed 脚本:
sed -e's/\[sharethefiles\.com\]//g; s/WS//g; s/PDTV//g; s/Xvid-BiA//g; s/XviD-BiA//g; s/\.\.//g; s/\./\ /g;'
但它带来了问题。这 。 (句点)在后缀(avi)之前被删除,我不确定如何用如此动态的文件替换它。有时后缀前可能只有一个空格,有时没有,因为脚本也会删除双句点。
关于解决问题的任何想法?
感谢您的帮助!
【问题讨论】: