在Linux中重命名文件/目录名称

时间:2019-09-04 06:06:41

标签: linux rename

如何通过linux命令行用自定义名称替换以下文件名(Windows支持的格式)。下面只是一个示例案例。我的测试目录中有100多个文件,因此我需要一种自动化的方法,而不是为每个文件手动输入“ mv”命令。

C:\Users\admin\Desktop\PCAP_Storage\TROJAN_MISC_ZEUS-DERIVATIVE
to 
TROJAN_MISC_ZEUS-DERIVATIVE

我尝试了一种方法,导致错误

test@localhost:~$ rename 's/C:\Users\admin\Desktop\PCAP_Storage\//g' C:\Users\admin\Desktop\PCAP_Storage\TROJAN_MISC_ZEUS-DERIVATIVE
Substitution pattern not terminated at (user-supplied code).

也尝试忽略特殊字符。

test@localhost:~$ rename 's/C:\\Users\\admin\\Desktop\\PCAP_Storage\\/' C:\Users\admin\Desktop\PCAP_Storage\TROJAN_MISC_ZEUS-DERIVATIVE
Substitution replacement not terminated at (user-supplied code).

1 个答案:

答案 0 :(得分:1)

如果您只想删除上一个反斜杠之前的所有内容,则可以使用

s/PATTERN/REPLACEMENT/FLAGS

您尝试的问题是替换命令具有3个参数:

s/C:\Users\admin\Desktop\PCAP_Storage\//g

任何PATTERN,REPLACEMENT或FLAGS都可以为空,但是所有斜杠(或使用的任何定界符)都是必需的。

\

最后一个/对后面的\U进行转义(并且\a将以下字符串变为大写,\D是“哔”声警报,而\PC:SERS\x07DMINDESKTOPPCAP_STORAGE/ 并不代表任何意思),因此您的模式为

g

的替换部分
/

并且缺少最后一个s/C:\\Users\\admin\\Desktop\\PCAP_Storage\\/ ,从而导致语法错误。

您的第二次尝试,

/

解决了这些问题。现在,所有反斜杠均已正确转义,但最后一个/仍然丢失。因此,该消息抱怨替换零件缺少{{1}}终止符。