Linux命令学习——xargs命令

xargs命令

命令格式

xargs [OPTION]... COMMAND INITIAL-ARGS...
[OPTION]:表示命令的零个或多个选项
COMMAND:表示任意的linux命令
INITIAL-ARGS:表示从表中的输入中读取的内容作为命令的参数

xargs的作用

echo "--help"|cat此命令会将–help作为字符串输出。
Linux命令学习——xargs命令
echo "--help"|xargs cat此命令会显示cat的帮助信息。
Linux命令学习——xargs命令
从以上的示例可以看出:前者试讲–help作为字符串输出。后者是将–help作为cat命令的参数。

xargs的[OPTION]

-d选项

默认情况下xargs将其从标准输入中读取的内容以空白(包括空格、Tab、回车换行等)分割后当做命令行参数传递给命令,并运行。通过-d选项可以指定分隔符。
指定@为分隔符。
Linux命令学习——xargs命令

-p选项

将最终需要执行的命令输出,询问用户是否执行此命令。输入y表示执行,n表示不执行。
Linux命令学习——xargs命令

-n选项

-n表示按照分隔符分割从标准输入读取的内容后,每n个参数作为命令行参数来执行。
相当于执行了echo A Becho C Decho E三个命令。
Linux命令学习——xargs命令

-E或-e

-E <eof-str>,有的系统的xargs版本可能是-e <eof-str>
该选项指定一个字符串,当xargs解析出多个命令行参数的时候,如果搜索到-e指定的命令行参数,则只会将-e指定的命令行参数之前的参数(不包括-E指定的这个参数)传递给xargs后面的命令。
只输出了C之前的A B。注意:-E命令不能和-d同时使用,否则-E不生效。
Linux命令学习——xargs命令

-0选项

-0 选项表示以 ‘\0’ 为分隔符,相当于-d \0。\0在C语言中表示字符数组的结尾。
find . "*.log" -print0|xargs -0 grep "error"
find . "*.log" -print0|xargs -d '\0' grep "error"
以上两个命令作用是相同的,都是查找包含error关键字的log文件。-print0选项会将匹配的log文件路径以\0进行分割。
Linux命令学习——xargs命令

参考资料:
https://blog.csdn.net/lujian1989/article/details/91986298

上一篇:mysql – 使用xargs导入sql文件


下一篇:xargs的用法