显示具有以下数据行的标题

时间:2017-05-19 10:45:52

标签: unix awk sed grep

我需要从下面的grep输出以显示推荐的字段标题,然后只显示底部显示的行数据

<center><h2>Core Maths 2</h2><center>

<div id="demo"></div>

返回如下(两行示例)

grep 'loadOfAreas' paco_smc.log|grep 'enter_recirc'

如何才能让它显示如下所示,标题显示一次

loadOfAreas01 / retrieveval / storages // limitRetrieval / limitGoodsin / limitTotal

19 1 18 30 36 49

19 1 18 30 36 49

1 个答案:

答案 0 :(得分:0)

推荐的文字处理工具是combineReducers 您可以轻松地将所需的输出传输到以下内容。

如果您要打印任何标题,可以使用awk的awk部分 BEGIN

看来您的输出格式是常量,因此您希望在第12列上进行一些文本处理。

awk 'BEGIN{print "loadOfAreas01 retrievals storages - limitRetrieval limitGoodsin limitTotal"}'

如果在计算之前将其添加到命令中:

{t=$12; gsub(/\/\//, " - ", t); gsub(/\//, " ", t); gsub(/ \*\*/,"", t); print t}

您的输出将如下所示:

your_command | awk 'BEGIN {print "loadOfAreas01 retrievals storages - limitRetrieval limitGoodsin limitTotal"} \
{t=$12; gsub(/\/\//, " - ", t); gsub(/\//, " ", t); gsub(/ \*\*/,"", t); print t}' 

如果您需要花哨的输出,当然可以使用awk的loadOfAreas01 retrievals storages - limitRetrieval limitGoodsin limitTotal 19 1 18 - 30 36 49 19 1 18 - 30 36 49 声明来完成此操作 但也许您想使用printf命令,您可以在其中管道您的awk输出。

至少你有:

column

现在您的输出将如下所示:

awk 'BEGIN {print "loadOfAreas01 retrievals storages - limitRetrieval limitGoodsin limitTotal"} \
{t=$12; gsub(/\/\//, " - ", t); gsub(/\//, " ", t); gsub(/ \*\*/,"", t); print t}' |\ 
column -t