[命令] Linux 命令 xargs (替代参数)

内容目录:

内容一:理解 xargs 的作用
1.1 Linux 命令可接收的内容
1.2 Linux 命令对可接收内容的态度
1.3 xargs 的作用
1.4 理解 xargs 作用的案例
1.4.1 准备一个用于测试的文件
1.4.2 测试没有 xargs 命令的情况

内容二:xargs 的使用案例
2.1 案例一:xargs 对参数进行分行
2.2 案例二:xargs 指定分割参数的分割符
2.3 案例三:xargs 不输出参数,而是将参数传输给后面的命令,并让此命令使用此参数执行
2.4 案例四:xargs 只输出前几个参数

具体的内容:

内容一:理解 xargs 的作用
1.1 Linux 命令可接收的内容

1) 第一种内容是输入
2) 第二中内容是参数

1.2 Linux 命令对可接收内容的态度

1) 有些命令既可以接收输入也可以接受参数
2) 有些命令只能接收输入
3) 有些命令只能接收参数

1.3 xargs 的作用

当管道符号 “|” 将前一个命令的输出结果转换为下一个命令的输入时,再将此输入转换为参数

1.4 理解 xargs 作用的案例
1.4.1 准备一个用于测试的文件

# echo "This is a test file" > test.txt

1.4.2 测试没有 xargs 命令的情况

# echo test.txt | cat
test.txt

(补充:此时 test.txt 对于 cat 而言是输入)

1.4.3 测试有 xargs 命令的情况

# echo test.txt | xargs cat
This is a test file

(补充:此时 test.txt 对于 cat 而言是参数)

内容二:xargs 的使用案例
2.1 案例一:xargs 对参数进行分行

# echo aa bb cc dd ee | xargs -n 2
aa bb
cc dd
ee

(补充:这里是设置每 2 个参数为一行)

2.2 案例二:xargs 指定分割参数的分割符

# echo aa@bb@cc@dd@ee | xargs -d @
aa bb cc dd ee

(补充:这里是将 @ 设置为分割符)

2.3 案例三:xargs 不输出参数,而是将参数传输给后面的命令,并让此命令使用此参数执行

# echo aa@bb@cc@dd@ee | xargs -d @ -p echo
echo aa bb cc dd ee
 ?...y
aa bb cc dd ee

(补充:这里需要在提示是否执行 echo aa bb cc dd ee 时输入 y 以确认)

2.4 案例四:xargs 只输出前几个参数

# echo aa bb cc dd ee | xargs -E cc echo
aa bb

(补充:这里只输出在 cc 之前的参数)

(注意:当使用了 -d 参数后,-E 参数会实效)