我想new-files使用bash命令从linux中的另一个文件夹中删除文件夹中存在的所有文件.
我需要两件事:
最好的方法是什么?
编辑,澄清:
new-files.cp -r new-files/* other-directory/.aym*_*met 18
您可以使用以下命令:
cd new-files ; find . -exec rm -rf path/to/other-directory/{} \;
Run Code Online (Sandbox Code Playgroud)
它将列出从new-files目录中复制的所有文件(new-files不考虑目录).对于每个文件,它将删除复制的版本other-directory.
但是你要小心,如果一个文件new-files擦除文件other-directory,你将无法使用这种方法恢复旧文件.您应该考虑使用版本控制系统(例如Git).
从你的:
编辑,以澄清:
- 我有一个名为的文件夹
new-files。- 现在我执行
cp -r new-files/* other-directory/。- 可以说other-directory不是我想要复制到的目录,但是它已经包含其他文件,所以我不能只执行rm other-directory / *。
- 我需要删除所有意外复制的文件夹。我怎么做?
您可以遍历原始目录new-files/并在中删除具有相同名称的文件other-directory/:
for file in /new-files/*
do
rm /other-directory/"$file"
done
Run Code Online (Sandbox Code Playgroud)