从目录名称中删除 % 符号

从目录名称中删除 % 符号

我有一个文件夹topdir,其中包含子文件夹,例如%foo或。%barfoobar

应删除第一个字符处的任何 % 符号,以便%foo将其重命名为foo.不需要递归重命名,只topdir需要重命名里面的文件夹。

如何才能实现这一目标?

答案1

转到目录,依次重命名每个目录,但前提是目标尚不存在

cd topdir &&
  for src in %*
  do
      dst="${src#%}"
      [ -d "$src" ] && [ ! -e "$dst" ] && mv -- "$src" "$dst"
  done

相关内容