我会尽量保持简单。我使用sed命令编辑流的结果如下:
filename_1
filename_2
.
.
filename_n
Run Code Online (Sandbox Code Playgroud)
现在根据上一个结果中的文件数量,我想在 shell 中执行命令,如下所示。
some_command --foo "filname_1" --foo "filename_2" --foo "filename_n" remaining_some_command
Run Code Online (Sandbox Code Playgroud)
其中 --foo 是命令和 filename_1...filename_n 之间的标志,它的值取决于sed.
在shell中应该是可能的。但是如何?
因此,您有一些命令可以生成文件名列表,每行一个,并且您想为生成的每一行生成--foo和filename作为命令行参数?
例如使用printf和echo打印一些行并获取参数:
#!/bin/bash
args=()
while IFS= read -r filename; do
args+=(--foo "$filename")
done < <(printf "test1\ntest2\n")
echo test command "${args[@]}"
Run Code Online (Sandbox Code Playgroud)
在printf打印test1和test2,并echo运行作为echo --foo test1 --foo test2。
| 归档时间: |
|
| 查看次数: |
27 次 |
| 最近记录: |