首页 > 解决方案 > 将多个文件夹中的行集打印为行,而不是列?

问题描述

我在多个文件夹中有 .out 文件。

假设我在一个包含文件夹 A、B、C、D 的目录中。我使用下面的命令从文件夹 A、B、C 中的所有 .out 文件中包含关键字 VALUE 的第 8 列中打印一个特定值, D

awk '/VALUE/{print $8}' ./*/.out

我的结果看起来像:

output1_A
output2_A
output3_A

output1_B
output2_B
output3_B

output1_C
output2_C
output3_C 

有没有办法让我的输出看起来像下面显示的那样?

output1_A output2_A output3_A 
output1_B output2_B output3_B 
output1_C output2_C output3_C 

换句话说,有一个空格将来自同一文件夹的输出分开,而不是换行符?

标签: unixawk

解决方案


您能否尝试以下操作(因为我没有目录结构,所以我无法对其进行测试,或者如果 OP 可以将文件的内容发布到目录中,也许我们也可以单独执行awk)。

awk '/VALUE/{print $8}' ./*/.out | xargs -n 3

推荐阅读