在UNIX中使用数组将文件动态传递给命令

捷夫

我有四个文件(file_onefile_four),这些文件的内容并不是很重要。我想按数组定义的特定顺序将其中三个文件传递给命令(即pasteawk)。我的数组是order=(two one four)我希望使用数组将所需的文件作为输入传递给命令,就像您可以使用的那样*(即paste file_* > combined_file);

paste file_${order[@]} > combined_file

paste file_"${order[@]}" > combined_file

paste file_"${order[*]}" > combined_file

paste file_"{${order[@]}}" > combined_file

paste file_{"${order[@]}"} > combined_file

我看过不同的页面(1234),但我无法得到它的工作。looppaste的情况下,文件中的A无效awk我想一次将所有文件传递给命令。鉴于我的UNIX知识有限,我可能误解了一些解决方案/答案。从我从这个答案可以理解的角度来看,数组最初是如何开发的bash

所需结果: paste file_two file_one file_four > combined_file

橄榄

您可以使用printf

paste $(printf "file_%s " ${order[@]}) > combined_file

这避免了必须遍历order数组的所有元素


或者,使用bash ism,您可以使用以下命令:

paste ${order[@]/#/file_} > combined_file

请注意,#它与bash手册页中提到的模式的开头相匹配:

$ {parameter / pattern / string}

(...)如果pattern以#开头,则它必须在参数的扩展值的开头匹配。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何使用unix命令将参数动态传递给节点脚本?

如何将函数中使用的数组传递给动态分配的main数组?

在 SpringBatch 中使用 ClassifierCompositeItemProcessor 时,通过 StepBuilderFactory stream() 将文件名动态传递给 FlatFileItemWriter

使用 zcat 和 for 循环将多个文件传递给命令

将动态变量传递给数组

将动态数组传递给参数

将动态数组传递给ImageSlideshow iOS

将数组值传递给命令args

如何使用AJAX将Javascript数组传递给PHP文件?

使用 AJAX 将 php 数组传递给外部 javascript 文件

将动态参数传递给CMD并保存命令

如何在 React 中使用 CSS 模块将多个类动态传递给子组件

如何将数组项中的项传递给使用过滤器的powershell命令

使用PHP将数组传递给Ajax

将结构的动态数组传递给GPU内核

将动态数组结构传递给函数Golang

如何将结构的动态数组传递给成员函数?

将数组作为命令行参数传递给脚本

如何将subshell结果(数组)传递给SSH命令?

Python将数组传递给函数,并在json返回中使用它

将数组的指针传递给要在 C 中的 printf` 中使用的函数

SwiftUI:如何将数组传递给在ForEach中使用的View

使用命令行参数将文件传递给程序

将文件路径传递给使用cygstart打开的命令时,转义空格

使用systemd的Exec *-命令将命令传递给进程

将选项从数组传递到UNIX中的内置ls命令

如何在Linux中使用文件或python脚本将argv参数传递给C程序?

Ajax将值传递给其他php文件,并在if语句中使用该值

在C ++中使用不同的项目文件将参数传递给函数