【问题标题】:Rename a file with a "+" in its filename重命名文件名中带有“+”的文件
【发布时间】:2014-01-29 11:55:45
【问题描述】:

我确定这是微不足道的。我有一个名为:“AVP + D 16.12.2013.pdf”的文件 我需要删除 +、点和空格以保留“AVPD16122013.pdf”

如果可能的话,我需要一个在 OSx 和 Ubuntu 中类似的 bash 命令。

非常感谢

【问题讨论】:

    标签: macos bash special-characters rename


    【解决方案1】:

    您可以使用 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" - 点也有问题。我可能会存储扩展名,然后将其写回。
    • 好的,刚刚修好了。 OP 说 OSX 这就是重命名不可用的原因(因为它在 OSX 上对我不可用)。
    【解决方案2】:

    不确定是否需要对名称相似的文件执行此操作,还是仅针对此特定文件名执行此操作。如果是特定情况,那么您只需要以下内容:

    $ mv 'AVP + D 16.12.2013.pdf' AVPD16122013.pdf
    $
    

    在 OSX 10.8.5 和 Ubuntu 12.04 上测试

    【讨论】:

      猜你喜欢
      • 2017-07-22
      • 1970-01-01
      • 2012-08-13
      • 2014-03-27
      • 2018-01-11
      • 1970-01-01
      • 2014-06-01
      • 2014-09-09
      • 2013-04-24
      相关资源
      最近更新 更多