如何将内容转换为以下格式?

fball4life36
pid        name          tid        mod         state   data
-------------------------------------------------------------------------  
39523      srv0051_0001_0  39642 20-10:59:28 Working 820000:500196:500077 
43137      srv0051_0005_0  43156 20-10:59:28 Working 820000:4250501:840057
43895      srv0051_0006_0  43903 20-10:59:28 Working 820000:4250501:840057
47523      srv0051_0009_0  47547 20-10:59:28 Working 600005:4250501:4250846
48841      srv0051_0010_0  48851 20-10:59:28 Working 600005:4290000:4290000
58182      srv0051_0020_0  58188 20-10:59:28 Working 820000:4250501:840057
8297       srv0079_0008_0  8316  20-10:59:27 Working 600005:3070001:3050012

pid,name,tid,mod,state,appnbr,request,tasknbr,appctx,username
39523,srv0051_0001_0,39642,09-JUL-2018 12:36:10,Working,820000,500196,500077
43137,srv0051_0005_0,43156,09-JUL-2018 12:36:10,Working,820000,4250501,840057
43895,srv0051_0006_0,43903,09-JUL-2018 12:36:10,Working,820000,4250501,840057
47523,srv0051_0009_0,47547,09-JUL-2018 12:36:10,Working,600005,4250501,4250846
48841,srv0051_0010_0,48851,09-JUL-2018 12:36:10,Working,600005,4290000,4290000
58182,srv0051_0020_0,58188,09-JUL-2018 12:36:10,Working,820000,4250501,840057
8297,srv0079_0008_0,8316,09-JUL-2018 12:36:10,Working,600005,3070001,3050012

通过运行以下命令来收集此数据:

spsmon -state working -snapshot > /root/file.txt

到目前为止,我有:

awk 'BEGIN{print 
"pid,name,tid,mod,state,appnbr,request,tasknbr,appctx,username"} NR>5 
'!/Process/' '!/ProcessModules/' '!/ProcessEvoke/' {print 
$1","$2","$3","$4","$5","gensub(/:/,",","g",$6)}' /root/file.txt > 
/root/file.txt

我主要对如何将mod列更改为所需的日期格式感到困惑。

钢铁司机

使用GNU Awk,并从当前时间获取缺少的月份和年份:

gawk '
  BEGIN{
    OFS=","
    print "pid,name,tid,mod,state,appnbr,request,tasknbr,appctx,username"
  }
  NR>2 {
    split($4,a,"-")
    $4 = a[1] strftime("-%^b-%Y ", systime()) a[2]
    gsub(/:/,",",$6)
    print
  }' /root/file.txt

或忽略文件并在管道中使用

spsmon -state working -snapshot | gawk '...'

前任。

$ gawk '
  BEGIN{
    OFS=","
    print "pid,name,tid,mod,state,appnbr,request,tasknbr,appctx,username"
  }
  NR>2 {
    split($4,a,"-")
    $4 = a[1] strftime("-%^b-%Y ", systime()) a[2]
    gsub(/:/,",",$6)
    print
  }' file.txt
pid,name,tid,mod,state,appnbr,request,tasknbr,appctx,username
39523,srv0051_0001_0,39642,20-JUL-2018 10:59:28,Working,820000,500196,500077
43137,srv0051_0005_0,43156,20-JUL-2018 10:59:28,Working,820000,4250501,840057
43895,srv0051_0006_0,43903,20-JUL-2018 10:59:28,Working,820000,4250501,840057
47523,srv0051_0009_0,47547,20-JUL-2018 10:59:28,Working,600005,4250501,4250846
48841,srv0051_0010_0,48851,20-JUL-2018 10:59:28,Working,600005,4290000,4290000
58182,srv0051_0020_0,58188,20-JUL-2018 10:59:28,Working,820000,4250501,840057
8297,srv0079_0008_0,8316,20-JUL-2018 10:59:27,Working,600005,3070001,3050012

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Korn / Bash Shell:如何将内容转换为以下格式?

如何将此数据帧转换为以下格式?

如何将列表列表转换为以下格式的python字典?

如何将我的 python 字典转换为以下格式

按照以下格式将DataFrame转换为多维数组

将日期时间转换为以下格式的SQL Server

将 sql 输出转换为以下格式

如何将短日期转换为以下格式:DDD MMM DD YYYY GMT + 0800(X国家标准时间)?

如何将以下格式的字段dd / mm / yyyy转换为有效的日期时间?

如何转换以下格式的数组

如何使用Java将3 * 3矩阵转换为具有以下格式的9 * 3矩阵?

R:以以下格式将字符转换为日期时间:2018-07-01 12

以以下格式将python中的数据帧转换为json

如何将日期格式化为以下格式day.month.year?

如何计算数组中的重复项并将计数转换为以下格式?

如何将字符串(2014-07-17T09:00:00-04:00)转换为以下格式?yyyy-MM-dd HH:mm:ss

如何将console.log 编号为以下格式?

如何将此元组列表更改为以下格式?

将字符串转换为以下格式的日期-日期名称,月/日编号,小时pm或am

给定几个数据帧,如何在 python 中转换为以下格式?或者甚至有可能吗?

如何将以下数据转换为表格格式?

如何将具有XML格式的内容的字符串转换为JDom文档

无法使用Jolt转换将其转换为以下格式的json

如何将以下对象数组解析为以下格式以进行显示

如何将数据从长格式转换为宽格式

如何将[]格式的列表转换为()格式

如何将 osgjs 格式转换为 obj 或类似格式?

如何将“日期”格式转换为 UTC 格式

如何将 ISO 日期格式转换为 yyyymmddhsi 格式?