【发布时间】:2013-05-02 22:38:46
【问题描述】:
我有一种情况,我需要每天检查 Xsan 上一个文件夹中的 400 多个文件,并用文件名中的下划线替换空格。
是否有人手头有我可以通过终端运行的脚本,例如可以为我执行此操作?
【问题讨论】:
标签: macos terminal finder file-rename
我有一种情况,我需要每天检查 Xsan 上一个文件夹中的 400 多个文件,并用文件名中的下划线替换空格。
是否有人手头有我可以通过终端运行的脚本,例如可以为我执行此操作?
【问题讨论】:
标签: macos terminal finder file-rename
给你,这会遍历当前目录中的所有文件(和文件夹):
for oldname in *
do
newname=`echo $oldname | sed -e 's/ /_/g'`
mv "$oldname" "$newname"
done
请注意,这将覆盖同名文件。也就是说,如果有两个文件具有相同的文件名,但一个有下划线,另一个有空格。在这种情况下,有下划线的那个会被有空格的那个覆盖。这个较长的版本将跳过这些情况:
for oldname in *
do
newname=`echo $oldname | sed -e 's/ /_/g'`
if [ "$newname" = "$oldname" ]
then
continue
fi
if [ -e "$newname" ]
then
echo Skipping "$oldname", because "$newname" exists
else
mv "$oldname" "$newname"
fi
done
【讨论】:
$() 语法用于命令替换:en.wikipedia.org/wiki/Command_substitution