是否有一个unix命令行实用程序用于按行"映射"?

Rob*_*tin 6 unix linux command-line utilities

我有一个输入流,我想"映射"到输出行.例如,如果我的输入流是文件nums,我想要这种语法

$ cat nums
9534
2343
1093
7023
$ cat nums | map ./myscript $0
Run Code Online (Sandbox Code Playgroud)

相当于

$ echo 9534 | ./myscript
$ echo 2343 | ./myscript
$ echo 1093 | ./myscript
$ echo 7023 | ./myscript
Run Code Online (Sandbox Code Playgroud)

Kri*_*son 5

我认为xargs与你的假设最接近的是map:

cat nums | xargs -n1 ./myscript
Run Code Online (Sandbox Code Playgroud)

要么

cat nums | xargs -n1 -J ARG ./myscript ARG
Run Code Online (Sandbox Code Playgroud)

要么

cat nums | xargs -I ARG ./myscript ARG
Run Code Online (Sandbox Code Playgroud)

不幸的是,xargs不允许你调用从stdin读取的东西,因此你必须重写脚本以接受命令行参数而不是从stdin读取.