xargs同时读取2个参数
时间: 2023-09-25 22:13:42 浏览: 174
您可以使用xargs命令的-n选项来指定每次从标准输入读取的参数个数。如果您希望同时读取两个参数,可以将-n选项设置为2,例如:
```
$ echo "arg1 arg2 arg3 arg4" | xargs -n 2
```
上面的命令将从标准输入中读取4个参数,每次读取2个参数,并将它们传递给xargs后面的命令进行处理。
相关问题
xargs命令 参数
`xargs` 是一个强大的 Unix/Linux 命令行工具,它主要用于从标准输入读取数据,并将其传递给另一个命令作为参数执行。xargs 的基本用法是将一系列输入(通常是来自管道、文件或命令行选项)转换为可执行命令的参数列表。
`xargs` 常见的一些参数和用法包括:
1. `-n` 或 `--max-args`:指定每个命令行应接受的最大参数数量。例如,`xargs -n 2` 表示每次传递两个参数给后续命令。
2. `-I` 或 `--replace`:用于替换输入中的每个字段。例如,`find . -type f -exec sed -i 's/old/new/' {} \; | xargs -I {} file {}` 中,`{}` 就会被找到的文件名替换。
3. `-P` 或 `--max-procs`:设置同时运行的最大进程数。
4. `-0` 或 `--null`:使用 NUL 字符分隔输入参数,常用于处理包含空格的输入。
5. `-e` 或 `--eof`:当遇到 EOF(文件结束)时停止传递参数。
6. `-t` 或 `--verbose`:显示每个参数在传递给命令之前。
相关问题:
1. xargs 常用于哪些场景?
2. 如何结合使用 `xargs` 和其他命令实现复杂操作?
3. xargs 是否支持从标准输入以外的源获取参数?
xargs 指定参数位置
`xargs`是一个Unix/Linux工具,用于从标准输入读取数据并将其传递给外部命令。它特别有用于批量处理,当你有一个包含一系列命令行参数的文件,如文本文件或管道输出时。`xargs`允许你在指定的位置插入这些参数。
例如,如果你想用文件中的每个行作为`ls -l`命令的一个参数,你可以这样做:
```bash
cat filenames.txt | xargs ls -l
```
在这里,`filenames.txt`是包含文件名的文本文件,`|`是管道运算符,`cat`用于读取文件内容到`xargs`,`ls -l`是要应用的命令,`xargs`会在`ls`命令的参数位置(`$@`)插入从`cat`获取的每个行的内容。
你可以通过 `-I` 参数来指定参数的位置。比如 `-I %` 表示将 `%` 替换为`xargs`读取到的数据。下面的例子展示了如何将每行替换为单独的`echo`命令:
```bash
cat filenames.txt | xargs -I {} echo "Processing file: {}"
```
在这个例子中,`{}`将会被`filenames.txt`中的每个文件名替换。
阅读全文