Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Macos 用“重命名文件”+&引用;在其文件名中_Macos_Bash_Special Characters_Rename - Fatal编程技术网

Macos 用“重命名文件”+&引用;在其文件名中

Macos 用“重命名文件”+&引用;在其文件名中,macos,bash,special-characters,rename,Macos,Bash,Special Characters,Rename,我相信这是件小事。我有一个名为“AVP+D 16.12.2013.pdf”的文件 我需要删除+、点和空格以保留“AVPD16122013.pdf” 如果可能的话,我需要一个类似于OSx和Ubuntu的bash命令 非常感谢您可以使用BASH字符串操作: s="AVP + D 16.12.2013.pdf" ext="${s##*.}" fn="${s%.*}" echo "${fn//[.+ ]/}.$ext" AVPD16122013.pdf 不确定是否需要对具有类似名称的文件或仅针对此特定

我相信这是件小事。我有一个名为“AVP+D 16.12.2013.pdf”的文件 我需要删除+、点和空格以保留“AVPD16122013.pdf”

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


非常感谢

您可以使用BASH字符串操作:

s="AVP + D 16.12.2013.pdf"
ext="${s##*.}"
fn="${s%.*}"
echo "${fn//[.+ ]/}.$ext"
AVPD16122013.pdf

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

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

在OSX 10.8.5和Ubuntu12.04上测试,我会先去掉扩展,然后恢复它。不是每个句点都需要删除:)谢谢,是的,让我来解决这个问题。要重命名,您可以使用
rename's/[+]//g'“AVP+D 16.12.2013.pdf”
-也有点问题。我可能会存储扩展,然后写回。好的,只是修复了它。OP说OSX这就是为什么重命名不可用的原因(因为它在OSX上对我不可用)。