xargs

hhpy hhpy     2023-01-02     311

关键词:

xargs 紧跟在管道操作符之后,它使用标准输入作为主要的数据源

例如:ls *.c | xargs grep main

xargs 默认会执行echo命令

1.将多行输入转换成单行输出

cat example.txt | xargs

2.将单行输入转换成多行输出

cat example.txt | xargs -n 3

xargs 工作原理:xargs命令接受来自stdin的输入,将数据解析成单个元素,然后调用指定命令并将这些元素作为该命令的参数。xargs默认使用空白字符分割输入并执行/bin/echo

-d 指定分割符

例如:echo "splitXsplit2Xsplit3Xsplit4X" | xargs -d X

技术分享图片

-n 指定输出行数

echo "splitXsplit2Xsplit3Xsplit4X" | xargs -d X -n 2

技术分享图片

-I 用于指定替换字符串

cat args.txt | xargs -I ./cecho.sh -p -l

技术分享图片

3.结合find使用xargs

危险示例:find . -type f -name "*.txt" -print | xargs rm -f

以‘ ‘,‘ ‘为分割,当文件名中有空格时,容易删错文件

正确示例:find . -type f -name "*.txt" -print0 | xargs -0 rm -f 

以‘‘--空字符为作为分割符。

4.统计源代码目录中所有C程序文件的行数

find source_code_dir_path -type f -name "*.c" -print0 | xargs -0 wc -l

5.结合stdin,巧妙运用while语句和子shell

$ cat files.txt | ( while read arg; do cat $arg; done )

# 等同于cat files.txt | xargs -I cat

cmd0 | ( cmd1;cmd2;cmd3 ) | cmd4

如果cmd1 是 cd /,那么就会改变子shell工作目录,然而这种改变仅局限于该子shell内部,cmd4 者不受影响

shell的-c选项可以调用子shell来执行命令行脚本,它可以与xargs结合解决多次替换的问题。

例如:find . -name ‘*.c‘ | xargs -I ^ sh -c "echo -ne ‘ ^: ‘; grep main ^"

 

xargs

Xargs用法详解1.简介:  xargs是给命令传递参数的一个过滤器,也是组合多个命令的一个工具。它把一个数据流分割为一些足够小的块,以方便过滤器和命令进行处理。通常情况下,xargs从管道或者stdin中读取数据,但是它也能... 查看详情

xargs命令

xargs命令是给其他命令传递参数的一个过滤器,也是组合多个命令的一个工具。它擅长将标准输入数据转换成命令行参数,xargs能够处理管道或者stdin并将其转换成特定命令的命令参数。xargs也可以将单行或多行文本输入转换为其... 查看详情

xargs命令

xargs命令常用工具命令xargs命令是给其他命令传递参数的一个过滤器,也是组合多个命令的一个工具。它擅长将标准输入数据转换成命令行参数,xargs能够处理管道或者stdin并将其转换成特定命令的命令参数。xargs也可以将单行或... 查看详情

xargs命令用法

xargs命令:xargs命令是给其他命令传递参数的一个过滤器,也是组合多个命令的一个工具。它擅长将标准输入数据转换成命令行参数,xargs能够处理管道或者stdin并将其转换成特定命令的命令参数。xargs也可以将单行或多行文本输... 查看详情

使用 xargs 运行多个命令

】使用xargs运行多个命令【英文标题】:Runningmultiplecommandswithxargs【发布时间】:2011-10-2023:35:22【问题描述】:cata.txt|xargs-I%echo%在上面的示例中,xargs将echo%作为命令参数。但在某些情况下,我需要多个命令来处理参数而不是一个... 查看详情

xargs命令初了解

想检查下系统里用户的计划任务,百度了下,发现有个脚本命令对其中的xargs有点不台清楚,了解了下大概释义如下:xargs一般和管理配合使用,将前面管道结果分割成xargs后面所接命令的参数 查看详情

xargs命令教程

http://www.ruanyifeng.com/blog/2019/08/xargs-tutorial.html?utm_source=tuicool&utm_medium=referral 查看详情

xargs---组合命令的工具(代码片段)

xargs命令是给其他命令传递参数的一个过滤器,也是组合多个命令的一个工具。它擅长将标准输入数据转换成命令行参数,xargs能够处理管道或者stdin并将其转换成特定命令的命令参数。xargs也可以将单行或多行文本输入转换为其... 查看详情

xargs的使用

Xargs的使用 发现xargs是个很好用的命令,于是搜索了网上好多关于xargs的文章并做了相关的实验,现自己总结一下,好转化为自己的东西:Xargs经常会与管道搞混淆,所以 首先我们先了解下管道的作用:? 管道实现的是... 查看详情

xargs

...管道的shell命令,如:rm、sed等。比如:删除文件- ls|xargs-irm-rf{}文件改名- ls|xargs-imv{}{}.old将命令逐个替换到{}执行命令:xargs当find产生一个文件列表时,该列表提供给另一个命令有时是很有用的.$find-name‘*.c‘|rmrm:缺少操作... 查看详情

使用 xargs 调用 shell 函数

】使用xargs调用shell函数【英文标题】:Callingshellfunctionswithxargs【发布时间】:2012-06-1517:37:20【问题描述】:我正在尝试使用xargs来并行调用更复杂的函数。#!/bin/bashecho_var()echo$1return0seq-f"n%04g"1100|xargs-n1-P10-iecho_varexit0这会返回错误... 查看详情

xargs用法

 http://m.blog.csdn.net/article/details?id=44875865 为啥要xargs?通常linux命令可以用|首尾相连,上一个命令的stdout连接到下一个命令的stdin。但是有些命令,比如ls、rm等,是从命令行参数接受输入的。这时候如果想把上一个命令的输... 查看详情

xargs 的最终论点

】xargs的最终论点【英文标题】:Finalargumentsforxargs【发布时间】:2013-12-1416:41:57【问题描述】:我想做类似的事情:find.-typef|xargscpdest_dir但是xargs将使用dest_dir作为初始参数,而不是作为最终参数。我想知道:是否可以为xargs指定... 查看详情

xargs 字符串用作 agrep 的输入

】xargs字符串用作agrep的输入【英文标题】:xargsstringusedasaninputforagrep【发布时间】:2012-06-2101:21:22【问题描述】:伙计们,我正在使用xargs将输入传递给agrep。我正在使用如下所示的xargsScript:xargs-L1-Istringecho"RequestId="string|xargs-L1-Is... 查看详情

使用 xargs 并行运行程序

】使用xargs并行运行程序【英文标题】:Runningprogramsinparallelusingxargs【发布时间】:2015-04-0603:16:33【问题描述】:我目前有当前脚本。#!/bin/bash#script.shforiin0..99;doscript-to-run.shinput/output/$idone我希望使用xargs并行运行它。我试过了scrip... 查看详情

一天一命令-xargs

一天一命令-xargsxargs传递标准输入作为下一个命令的参数或者重新格式化并输出xargs默认命令是echo,默认分隔符是空格。xargs可以将输入文本转换为单行或多行显示,即指定每行显示的个数。Usage: xargs [OPTION]... COMMAND&nb... 查看详情

管道回显输出到 xargs

】管道回显输出到xargs【英文标题】:Pipingechooutputintoxargs【发布时间】:2019-01-1502:58:59【问题描述】:我正在尝试通过xargs传递值列表。这是一个简单的例子:echo"HelloHolaBonjour"|xargs-I_echo_Landon我希望这会输出以下内容:HelloLandonHo... 查看详情

具有多个参数的 xargs

】具有多个参数的xargs【英文标题】:xargswithmultiplearguments【发布时间】:2011-04-1518:53:31【问题描述】:我有一个源输入,input.txta.txtb.txtc.txt我想将这些输入输入到程序中,如下所示:my-program--file=a.txt--file=b.txt--file=c.txt所以我尝... 查看详情