如何在shell脚本中附加结果集的列

时间:2016-01-10 13:05:29

标签: linux bash shell

我需要一个针对以下场景的脚本。我是shell脚本的新手。

wc file1 file2  

以上查询结果如下

40     149     947   file1
2294   16638   97724 file2

现在我需要得到如下结果:上面结果集的第1列,第3列,第4列和默认值的新列

40    947   file1  DF.tx1
2294  97724 file2  DF.rb2

这里最后一列的值始终是已知值,即file1 DF.tx1和file2 DF.rb2。

如果以任何顺序给出文件名,则默认值不应更改。

请帮我写这个脚本。在此先感谢!!

1 个答案:

答案 0 :(得分:0)

您可以使用awk

wc file1 file2 | 
  awk '$4 != "total"{if ($4 ~ /file1/) f="DF.tx1"; else if ($4 ~ /file2/) f="DF.rb2";
         else if ($4 ~ /file3/) f="foo.bar"; print $1, $3, $4, f}'

1 12 file1 DF.tx1
9 105 file2 DF.rb2
5 15 file3 foo.bar