通过sed教程,但无法弄清楚如何使用。sed正则表达式替换文件名的一部分
有像“ABCxxx.ext”需要重命名为跨子文件夹中的文件100S“XYZxxx.ext”
其中xxx是不同的充字母数字小串和.EXT是任何extention(XML,JAVA, XLS)
我能使用:
find . -iname "ABC*.*"
在终端,查看这些文件,但不知道用什么样的sed或其他命令重命名文件。在Mac 10.9.4
例子: “Abc01k.xls” ==> “Xyz01k.xls” “Abcloans.xml” ==> “Xyzloans.xml” “AbcThreads.java” ==>“XyzThreads .java“
因此,如果文件的名称中包含Abc字符,请将其替换为Xyz。可以是第一个字符或里面。
阅读:https://www.gnu.org/software/sed/manual/sed.html https://apple.stackexchange.com/questions/131164/how-to-tag-files-with-finder-tags-using-parts-of-a-file-name
最后1个作品1个文件夹,但我想它访问所有文件夹。
bash脚本:
for i in Abc*; do
mv "$i" "${i/Abc/Xyz}"
done
我怎样才能把这个脚本的所有子文件夹?或者如何做到与sed相同?
我把在脚本和bash或sh的电话吗?或直接粘贴到终端? – tgkprog 2014-10-02 14:23:34
你可以在脚本中使用pyt或在终端中调用它。这是两条线。你可以通过添加“;”第一个命令后 – 2014-10-02 14:25:27
如果ABC案件更改不起作用。无论如何告诉sed是不区分大小写的?尝试... sed's/Tfw/Ddt/gI''“;出现错误,您的脚本在一个文件中,2行 – tgkprog 2014-10-02 15:44:40