n0p*_*0pe 7 directory cp shell-script files
我用这个复制了一个目录:
cp -r dir/ ../../
Run Code Online (Sandbox Code Playgroud)
想也没想就发现是复制了dir
而不是dir
上面目录的内容。现在我有一堆文件需要删除,以便我可以cp
正确地重做。如果我错误地复制了所有文件,如果它们不匹配任何特定内容,我该如何删除它们?
好的,这与klapaucius 的回答基本相同。(如果cp
覆盖了一些现有文件,它不会修复任何损坏。)
假设您在源目录中(在 中dir
)。这个命令:
find . -type f -exec echo '{}' ';'
Run Code Online (Sandbox Code Playgroud)
将列出目录中存在的所有文件(递归)dir
(非常像-print
)。该-type f
选项用于防止列出子目录。
所以,如果你使用:
find dir -type f -exec echo '../../../{}' ';'
Run Code Online (Sandbox Code Playgroud)
这应该列出目标目录中的相应文件(副本)。
现在,如果列表正确,您将能够使用以下方法删除副本:
find dir -type f -exec rm -- '../../../{}' ';'
Run Code Online (Sandbox Code Playgroud)
至于修剪来自cp
……嗯……的剩余空目录