linux中xagrs命令的用法

什么是xargs

xargs命令可以从标准输入中构建并执行命令。通俗一点来说就是,将一个字符串中分割出多个子字符串作为一个命令的参数,然后执行这个命令。

怎样使用xargs

默认情况下,xargs从标准输入中读取内容,用空格分割字符,然后作为参数去执行一个命令。下面的命令会从创建三个文件夹。
创建文件夹

查看执行的命令

-t参数会显示执行的命令,例如:
view executed commands

查看并确认执行的命令

-p参数会询问同意后才会执行命令
How to view the command and prompt for execution

xargs和find命令配合使用

find和xargs一起使用的含义是,通过find查询特定的文件,并对查找的结果进行一些操作,例如改文件的权限,移动文件等等。下面的命令是查询/tmp目录下早于两周前的文件并删除:
find /tmp -mtime +14 | xargs rm

xargs vs exec

find命令中有个-exec参数可以支持在查找的文件中进行任意的操作,如下的两个命令是等价的:

find ./foo -type f -name "*.txt" -exec rm {} \; 
find ./foo -type f -name "*.txt" | xargs rm

建议使用xargs,效率更高

一次运行多个命令

之前都是将参数传递给一个命令执行,那么可以不可以将多个参数分别传递给同一个命令去处理呢?通过-I参数实现,在参数后指定一个替换符号,xargs命令会将每个替换符号替换成参数后分别执行,下面就是调用三次mkdir命令创建三个文件夹了:

cat foo.txt
one
two
three

cat foo.txt | xargs -I % sh -c 'echo %; mkdir %'
one 
two
three

ls 
one two three

原文地址

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值