我正在尝试将源目录复制到目标目录,但问题是目标目录具有相同的名称但不同的情况。
例如,
cp -rp /mydata/AbC.git/* /target/abC.git
为了进一步澄清,我在脚本中使用dir name作为变量:
cp -rp /mydata/${dir_name}.git/* /target/${dir_name}.git
现在,如果源目录和目标目录分别是AbC和abC,那么命令将失败。
我确信所有来源和目的地的拼写都是相同的,但案例不同,没有固定的模式。我在网上查了但是找不到这样的例子。一个链接建议使用shopt -s nocaseglob
,但这不起作用。
真的很感激任何帮助。
答案 0 :(得分:1)
您可以使用-iname
find
选项找到一个不区分大小写的名称。
srcname=AbC.git
dest=$(find /target -maxdepth 1 -iname "$srcname")
cp -rp /mydata/"$srcname"/* "$dest"