xargs应用举例

来源:互联网 发布:java 字段 编辑:程序博客网 时间:2024/06/07 11:57

转自:http://blog.163.com/wang_ly2442/blog/static/94943407201311152369133/


编写一个Shell脚本,自动将用户主目录下所有小于5kb的文件打包成tar.gz。

程序1:
#!/bin/bash
tar zcvf ~/a.tar.gz `find ~ -type f -size -5k`
执行时报错:参数列表过长。因为find命令执行的结果太长,超出了tar的参数长度范围。

程序2:
#!/bin/bash
find ~ -type f -size -5k | xargs tar zcvf ~/a.tar.gz
第二次运行正确。xargs将find命令的执行结果过滤后分多次传给tar命令,所以没有报错。

find命令用法:
-type f :查找类型为文件
-size:根据大小查找
find ~ -type f -size -5k      # 查找所有小于5kB的文件
find ~ -type f -size +5k      # 查找所有大于5kB的文件
find ~ -type f -size -5c      # 查找所有小于5字节的文件
find ~ -type f -size +5c      # 查找所有大于5字节的文件

0 0
原创粉丝点击