我试图从目录中所有文件名中删除撇号。
for i in *; do mv $i `echo $i | tr -d "'"`; done
执行此命令后,不会重命名任何内容。
你知道这是怎么回事吗?
您可以尝试这样的操作(bash
):
shopt -s nullglob
for i in *\'* ; do mv -v "$i" "${i/\'/}" ; done
这使用外壳程序字符串替换。您可能不希望遍历文件中没有的文件,'
因为mv
那样会失败。如果没有该nullglob
选项,mv
则在没有匹配文件的情况下,将将通配符模式本身传递给。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句