xargs命令用法实例

上一篇写了为什么要使用xargs命令。 接下来,我们看一些xargs命令用法实例。

目录

一、将xargs与find组合使用

二、xargs组合使用多个命令

三、将文件复制到多个目录


一、将xargs与find组合使用

在云计算越来越普及的今天,工程师们有时会发现云主机的磁盘空间被占满耗完了。常见的原因是各种进程产生的日志文件、dump文件过多,这时就需要清理部分占用空间大的无用的文件。我们可以使用如下命令查找文件:

find /var/log -type f -size +9M | xargs ls -lhS

拆解一下就是,查找 /var/log 目录下size超过 9M 的文件再按size进行排序后列出,效果如下:

然后可以按需调整参数,将部分目标文件进行压缩归档或者直接删除。

find /var/log -type f -size +10M -name "*.bak" | xargs rm -f

如果需要在大量指定扩展名的文件中搜索关键字符串,可以组合类似如下命令:

find /path/ -name "*.md" | xargs grep redhat

 

二、xargs组合使用多个命令

要使用xargs运行多个命令,请使用 -I 选项。语法为:

[cmd-providing-input] | xargs -I $ sh -c "[cmd-1] $; [cmd-2] $"

xargs每次使用标准输入的一行内容替换引号引着的命令中的 $ 符号作为参数。

 

三、将文件复制到多个目录

使用 xargs 命令将文件复制到多个目录。语法如下:

echo [directory-1] [directory-2] | xargs -n 1 cp -v [filename]

echo 命令提供目标目录名称,xargs使用 cp 命令将给定文件复制到每个目录中。这里xargs的选项参数 -n 1 表示每次使用一项作为后面命令的参数。

 

另一个小技巧是可以使用xargs删除字符串中多余的空格:

此外,xargs和find都有大量的选项。我们建议您查看他们的手册页以了解更多信息。


参考:

  • man xargs

  • man find

  • https://phoenixnap.com/kb/xargs-command

 

 

PS:

本文首发于公众号: 程序熵, 更多有用文章请点击关注 code-shang

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值