我用这个来复制每个目录中的文件:
find -type d -maxdepth 1 -print0 | xargs -0 -n1 cp .htaccess
现在我需要执行反向操作并从我当前所在的每个子目录中删除具有匹配名称的文件
答案1
如果我理解你的描述正确的话,你想.htaccess
从当前目录的子目录中删除,但不想从它们的子目录中删除。换句话说,你想删除foo/.htaccess
但不想删除foo/bar/.htaccess
。那么就很简单了:
rm */.htaccess
find
如果没有最初的命令,你也可以完成任务。find
当您想要递归地遍历目录时最有用,即应用于子目录和子子目录等。
for d in */; do cp -p .htaccess "$d"; done
答案2
find /path/to/dir -name .htaccess -delete
答案3
以下假设您之前find -type d -maxdepth 1 -print0 | xargs -0 -n1 cp .htaccess
从运行此目录的同一目录运行:
find . -maxdepth 2 -type f -name .htaccess -exec rm -v {} \;
-v(详细)选项是可选的,但它有助于查看实际删除的文件。