我想根据每个目录包含的子目录数重命名一组目录。
例如,如果“A”目录包含“B”,“C”和“D”子目录,“B”包含“E”和“F”,而“C”仅包含“G”和“D” “仅包含”H“。然后”B“应重命名为”m_B“(m表示多个)。”C“和”D“保持不变
答案 0 :(得分:0)
您可以使用脚本。
您需要做的第一件事就是计算此文件夹的目录数。
ls -l $1 | grep ^d | wc -l
然后将此值分配给变量:
TOTAL=$(ls -1 $1 | grep ^d | wc -l)
现在您唯一需要做的就是使用if子句进行简单检查
if [ $TOTAL -gt 1 ]
then
mv "$1" "m_$1"
pwd
fi
因此,检查一个文件夹的最终脚本是:
#!/bin/bash
TOTAL=$(ls -1 $1 | grep ^d | wc -l)
if [ $TOTAL -gt 1 ]
then
mv "$1" "m_$1"
pwd
fi
该脚本适用于参数传递的一个文件夹,如果要使用此脚本重命名一组文件夹,请使用for子句。