我有两行:
Pid: 2
PPid: 1
我需要打印如下内容:
PID_Process=2:PPID_Process=1
我有这个,但效果不佳:
awk -v PID='NR==1{$2}'
-v PPID='NR==2{$2}'
'{print "PID="PID, "PPID="PPID}'
答案 0 :(得分:1)
-v
在awk开始之前创建变量。要在运行时分配它们,您需要这样的东西:
awk 'NR==1 {PID=$2}
NR==2 {PPID=$2}
END {print "PID="PID, "PPID="PPID}'
或更简单:
awk 'NR==1 {PID=$2}
NR==2 {PPID=$2; print "PID="PID, "PPID="PPID; exit}'
答案 1 :(得分:1)
$ awk -F': *' '
{ printf "%s%s_Process=%s", sep, toupper($1), $2; sep=":" }
END { print "" }
' file
PID_Process=2:PPID_Process=1
答案 2 :(得分:0)
其他一些变化
awk 'NR==1 {f=$2;next} {print "PID_Process="f":PPID_Process="$2}' file
PID_Process=2:PPID_Process=1