Chinaunix
标题:
求一个shell的文本处理
[打印本页]
作者:
bottles
时间:
2014-01-27 16:06
标题:
求一个shell的文本处理
文本如下:
Processing cluster.conf on local host n037
[$Z000EP0] %node info
[$Z000EP0] Logical Nodes = 4
[$Z000EP0] Physical Nodes = 4
[$Z000EP0] Spare Nodes = 0
[$Z000EP0] Available Spares = 0
[$Z000EP0] NID Type State Processors #Procs
[$Z000EP0] PNID State #Cores MemFree SwapFree CacheFree Name
[$Z000EP0] --- ----------- -------- ---------- -------- -------- --------- --------
[$Z000EP0] 000 Any Up 2 76
[$Z000EP0] 000 Up 8 6970140 86759372 12389616 n037
[$Z000EP0] 001 Any Up 2 74
[$Z000EP0] 001 Up 8 6443048 85819036 11420720 n038
[$Z000EP0] 002 Any Up 2 72
[$Z000EP0] 002 Up 8 1082884 91181916 20155376 n039
[$Z000EP0] 003 Any Down
[$Z000EP0] 003 Down n040
复制代码
输出格式如下:
n037 up
n038 up
n039 up
n040 down
如果不想要弄什么循环,这样的输出能一句命令搞定吗?求高手啊。
作者:
jason680
时间:
2014-01-27 16:14
本帖最后由 jason680 于 2014-01-27 16:15 编辑
回复
1#
bottles
$ awk '{n=substr($0,76,4);if(match(n,/n[0-9]+/))print n,substr($0,28,4)}' FILE
n037 Up
n038 Up
n039 Up
n040 Down
作者:
bottles
时间:
2014-01-27 16:21
回复
2#
jason680
膜拜高手,谢谢。
作者:
jackhuntcn
时间:
2014-01-27 16:33
本帖最后由 jackhuntcn 于 2014-01-27 16:36 编辑
awk '$NF ~ /n[0-9]{3}/ && NR!=1 {print $NF,$3}' urfile
复制代码
作者:
jiejie455
时间:
2014-01-27 16:56
awk '/Any[ \t]*[UD]/{getline;print $NF,$3}' data
作者:
rulebook
时间:
2014-01-28 09:48
awk '$NF~/n[0-9]+/&&$3~/Up|Down/{print $NF" "$3}' oo
复制代码
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2