我希望使用bash命令从linux中的另一个文件夹中删除文件夹new-files中存在的所有文件。
我需要这个做两件事:
最好的方法是什么?
编辑,澄清:
new-files的文件。cp -r new-files/* other-directory/。发布于 2013-05-27 12:58:49
您可以使用以下命令:
cd new-files ; find . -exec rm -rf path/to/other-directory/{} \;它将列出从new-files目录复制的所有文件(不考虑new-files目录)。对于每个文件,它将删除other-directory中复制的版本。
但是,您必须小心,如果new-files中的文件擦除other-directory中的文件,则无法使用此方法恢复旧文件。您应该考虑使用版本控制系统(例如Git )。
发布于 2013-05-27 13:00:50
从你的:
编辑,澄清:
new-files的文件。cp -r new-files/* other-directory/。您可以循环遍历原始的dir new-files/并删除other-directory/中同名的文件。
for file in /new-files/*
do
rm /other-directory/"$file"
done发布于 2013-05-27 12:47:44
我们用脚本来做你想做的事:
pushd `pwd`
cd /path/to/new-files
x=`find . -type f`
popd
echo $x | xargs rmhttps://stackoverflow.com/questions/16773457
复制相似问题