AIX 机器中交换信息的正则表达式

Posted

技术标签:

【中文标题】AIX 机器中交换信息的正则表达式【英文标题】:Regex for swap info in AIX mahine 【发布时间】:2011-09-28 00:08:11 【问题描述】:

AIX 中的交换信息命令:lsps -a

AIX 中的交换信息输出:

Page Space      Physical Volume   Volume Group    Size %Used Active  Auto  Type
paging00        hdisk1            rootvg        5120MB    63   yes   yes    lv
hd6             hdisk1            rootvg        4992MB    65   yes   yes    lv

如何获得Size%Used 值?

类似

5120MB    63
4992MB    65

更新 这就是我所做的

lsps -a | awk 'print $4" "$5'

这让我很感动

Volume Volume
5120MB 63
4992MB 65 

我不想要第一行 Volume Volume。我可能会做lsps -a | awk 'print $4" "$5'|tail -2,但可以有超过 2 行:)

【问题讨论】:

【参考方案1】:

这个 awklette 应该这样做。

lsps -a | awk '$1 != "Page"   print $4 " " $5 '

您可以使用“cut”或“sed”实现相同的目的,但我一直发现 awk 更易读、更可靠。

回应评论请求资源:

在这里找到一系列漂亮的衬里 here

还有一些更深入的文档是here

一个很好的教程是here

【讨论】:

安德森:哇!谢谢,awk 真的很好地解决了我的问题,你能建议我一些学习的地方吗awk 就像你的答案一样?【参考方案2】:

这行应该做你需要的:

lsps -a | grep -oi '[0-9]+[a-z]+[ \t]+[0-9]+'

【讨论】:

它给了我% lsps -a | grep -oi '[0-9]+[a-z]+[ \t]+[0-9]+' grep: Not a recognized flag: o

以上是关于AIX 机器中交换信息的正则表达式的主要内容,如果未能解决你的问题,请参考以下文章

aix 上的 sed 正则表达式问题

使用 linux 和 AIX 的正则表达式替换 bash 脚本中的字符串

AIX 上的 sed 正则表达式问题(第 2 部分)

notepad++ 正则表达式交换两个值

ksh 正则表达式错误'=〜`意外

正则表达式 —— 回溯陷阱