gpt4 book ai didi

linux - MV : prompt to rename or overwrite

转载 作者:行者123 更新时间:2023-12-04 18:37:24 25 4
gpt4 key购买 nike

find /home/csuser/testfiles . -type f -name "*.c" -exec mv '{}' /home/csuser/src/ \;
上面的命令将简单地覆盖具有相同名称的文件。如何制作 mv对于目标中已存在的每个文件名,提示我覆盖现有文件还是替换它?

最佳答案

这是一个简单的 shell 脚本包装器,用于提示您输入每个现有文件。

find /home/csuser/testfiles . -type f -name "*.c" -exec sh -c '
for file; do
dest=$0/${file##*/}
if [ -e "$dest" ]; then
ls -ld "$dest" "$file"
read -p "Enter new name for the second, or just ENTER to overwrite the first: " newname
if [ "$newname" != "" ]; then
dest=$0/${newname##*/}
fi
fi
mv "$file" "$dest"
done' /home/csuser/src/ {} +
我们隐蔽但方便地将目标目录作为 $0 传递。 .

关于linux - MV : prompt to rename or overwrite,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64817321/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com