【发布时间】:2014-01-29 11:55:45
【问题描述】:
我确定这是微不足道的。我有一个名为:“AVP + D 16.12.2013.pdf”的文件 我需要删除 +、点和空格以保留“AVPD16122013.pdf”
如果可能的话,我需要一个在 OSx 和 Ubuntu 中类似的 bash 命令。
非常感谢
【问题讨论】:
标签: macos bash special-characters rename
我确定这是微不足道的。我有一个名为:“AVP + D 16.12.2013.pdf”的文件 我需要删除 +、点和空格以保留“AVPD16122013.pdf”
如果可能的话,我需要一个在 OSx 和 Ubuntu 中类似的 bash 命令。
非常感谢
【问题讨论】:
标签: macos bash special-characters rename
您可以使用 BASH 字符串操作:
s="AVP + D 16.12.2013.pdf"
ext="${s##*.}"
fn="${s%.*}"
echo "${fn//[.+ ]/}.$ext"
AVPD16122013.pdf
【讨论】:
rename 's/[+ ]//g' "AVP + D 16.12.2013.pdf" - 点也有问题。我可能会存储扩展名,然后将其写回。
不确定是否需要对名称相似的文件执行此操作,还是仅针对此特定文件名执行此操作。如果是特定情况,那么您只需要以下内容:
$ mv 'AVP + D 16.12.2013.pdf' AVPD16122013.pdf
$
在 OSX 10.8.5 和 Ubuntu 12.04 上测试
【讨论】: