经常遇到的需求:复制/删除/移动某个目录下包含某某字符串的所有子目录或文件。
解:网上搜出来的结果普遍都用ls, 实际上用find最省事。
递归列出当前目录下所有子目录:
find . -type d
递归列出当前目录下所有文件:
find . -type f
然后再配上grep和xargs完事。
栗子:删除当前目录下所有包含temp字符串的子目录。
解:先用grep抓出来确认一下。grep的时候可以使用一些正则,这里就不举例了。
find . -type d |grep 'temp'
确认没问题之后再删吧。
find . -type d |grep 'temp' |xargs -I {} rm -rf {}