该手册页给出了两个例子:
rename 's/\.bak$//' *.bak
rename 'y/A-Z/a-z/' *
Run Code Online (Sandbox Code Playgroud)
所以它要么是 s 要么是 y 然后 /replaceThis/withThis
领先的 s 和 y 是什么意思?还有其他选择吗?
Joh*_*ber 12
在第一种情况下:
rename 's/\.bak$//' *.bak
Run Code Online (Sandbox Code Playgroud)
您正在针对文件名运行正则表达式,并将表达式的匹配部分(文件名末尾的 .bak)替换为第二个表达式(为空)。
在第二种情况下:
rename 'y/A-Z/a-z/' *
Run Code Online (Sandbox Code Playgroud)
您正在匹配正则表达式模式空间并音译为目标。换句话说,范围 AZ 更改为范围 az,使文件名小写。
我建议您查看sed的手册页以获取更多命令和更多详细信息。我相信's'命令是最常用的。同样,正则表达式(第 7 节)和 perl 文档也可能有所帮助。特别是,这里有一个关于 perl 和正则表达式的教程。
来自man sed:
s/正则表达式/替换/
尝试将正则表达式与模式空间匹配。如果成功?
满,替换与替换匹配的部分。这
替换可能包含特殊字符 & 来指代那个
匹配的模式空间部分,以及特殊的
转义 \1 到 \9 以引用相应的匹配
正则表达式中的子表达式。
是/源/目标/
将出现的模式空间中的字符音译
在 source 中对应于 dest 中的字符。
| 归档时间: |
|
| 查看次数: |
4101 次 |
| 最近记录: |