假如当前目录下有诸多fastq文件想要删除,通常我们选择这样:
直接删除
1 | rm *-temp.fastq |
但是如果一时疏忽输入rm -temp.fastq
(号和-号之间多了空格),那结果就惨了…..
而如果结合Linux常用命令之find命令那么一切就简单多了1
2
3find . -name "*-temp.fastq" -exec rm -i {} \;
#or
find . -name "*-temp.fastq" | xargs rm
-exec 表示由find找到的匹配项会作为”-exec后面设定的命令”的参数({}中输入值)
-i 交互删除
若想要删除文件夹,则-delete
代替-exec -rm {}
打印删除rm命令并检查
1 | find . -name "*-temp.fastq" | xargs -n 1 echo "rm -i" > delete-temp.sh |
-n 1 表示find擦找到的参数每次只有一个输入到xargs中
-P 并行运算
将删除文件放入临时文件夹(tmp)
1 | myrm(){ D=/tmp/$(date +%Y%m%d%H%M%S); mkdir -p $D; mv "$@" $D && echo "moved to $D ok"; } |