执子之手

与子偕老


  • 首页

  • 分类

  • 归档

  • 标签

  • 关于

  • 搜索
close

xargs使用复杂参数

时间: 2017-07-30   |   分类: 运维     |   阅读: 258 字 ~1分钟   |   访问: 0

一般情况下xargs只处理一个参数,因此可以这样使用,最后的rm会自动补齐一个参数:

1find . | grep hello | xargs rm

但是有时候需要多个参数才能够正常运行,这时候怎么办呢?可以这样:

1ls -1 2016*.log | xargs -I % -t tar czvf %.tar.gz % --remove-files

上述命令的意思是将当前目录中所有2016*.log文件使用tar打包成tar.gz文件,并删除源文件。其中:

  • xargs -I 参数指定了%作为占位符。它将指代ls命令返回的字符串作为参数。然后在后面的命令中,使用%代替了参数值;
  • xargs -t 参数作用是打印命令行

其他参数说明:

  • tar –remove-files 参数的作用是压缩完成之后删除源文件

附录. 参考资料

  • xargs 中处理多个参数的用法
#Linux# #Shell#
Shell脚本中的一些特殊变量
如何无密码登录SSH
  • 文章目录
  • 站点概览
Orchidflower

Orchidflower

Do one thing at a time, and do well.

77 日志
6 分类
84 标签
GitHub 知乎 OSC 豆瓣
  • 附录. 参考资料
© 2009 - 2024 执子之手
Powered by - Hugo v0.113.0
Theme by - NexT
ICP - 鲁ICP备17006463号-1
0%