背景:当一个文件夹中有很多文件,想要保存其中的一部分而删掉另一部分,此时利用ls,grep等管道命令结合rm的方法更容易实现,这个过程中xargs函数就显得比较重要
xargs命令
主要作用是将标准输入转换为一个命令的参数,这样就可以把管道命令的输出作为一个命令的参数实现各种功能。
- 注:shell排序用的是字母从小到大的排序方式,因此这里的前50表示的是
删除前50个文件
ls |head -n 50|xargs rm
删除后50个文件
ls|tail -n 50|xargs rm
只保留前50个文件(删除51-last文件)
ls|tail -n $(($((wc -l))-50))|xargs rm
- 注意这里$(())表示的是shell中的数值运算
只保留51-100个文件
ls |head -n 50|xargs rm
ls|tail -n $(($((wc -l)) -50))|xargs rm