版权声明:本文为博主原创文章,转载请说明出处。 https://blog.csdn.net/lijiaxiong_123/article/details/88667646
查找并删除文件的方式:
第一种:
ls | grep 'test*' | xargs rm -rf
第二种:
find ./ -name '*.test' -exec rm -rf {} \;#比较常用
或find ./ -name '*.test' | xargs rm -rf
find ./*.test -exec rm -rf {} \;
或 find ./*.test | xargs rm -rf
第三种:
aa=$(ls | grep 'test*')
rm $aa
注意:用管道符拼接后无法删除
aa=$(ls | grep 'test*') | rm -rf $aa
还有就是下面的这个原因还没搞明白,原因如下:
其次正则中 * 为限定符,修饰前一个字符或分组重复零次或多次。
而你这 * 在开头前面没有字符或分组。所以匹配不到
ls | grep '*.test' #找不到文件
ls | grep '.*.test' #可以找到文件
ls | grep 'test' #可以找到文件
find ./ -name '*.test' #可以找到文件
find、xargs的简单用法后续总结