使用awk限制透明巨大页面的输出

使用awk限制透明巨大页面的输出,awk,Awk,我如何使用awk过滤透明大页面的当前设置 透明巨大页面的输出示例: $ cat /sys/kernel/mm/transparent_hugepage/enabled always madvise [never] 我只想输出当前设置: never 像这样的怎么样 awk -F'[\\]\\[]' '/always madvise/ && NF > 2 { print $2 }' /sys/kernel/mm/transparent_hugepage/enabled 以

我如何使用
awk
过滤透明大页面的当前设置

透明巨大页面的输出示例:

$ cat /sys/kernel/mm/transparent_hugepage/enabled
always madvise [never]
我只想输出当前设置:

never

像这样的怎么样

awk -F'[\\]\\[]' '/always madvise/ && NF > 2 { print $2 }' /sys/kernel/mm/transparent_hugepage/enabled

以下
awk
也可能对您有所帮助

awk -F"[][]" 'NF{print $2}'  Input_file
解释:以下代码不准确,仅用于解释目的

-F"[][]"      ##Setting field separator as ] and [ for each line in Input_file.
'NF{          ##Checking condition here if line is NOT NULL where NF is number of fields awk variable which will be set only when a line is NOT NULL.
print $2}     ##If above condition is TRUE then print the 2nd field of current line of Input_file.
'  Input_file ##Mentioning Input_file name here.

这起作用了。简明扼要。您是否介意编辑您的答案,并简要说明如何使用
-F
NF
?(我在谷歌上搜索了5分钟,找不到任何解释)@HowardLee,很高兴它帮助了你,现在也添加了解释,如果有任何疑问也请告诉我。谢谢Michael。我选择了另一个答案,因为它比较短。很高兴你的问题解决了——老实说,我在这里也学到了一些东西——我不知道
'[]].
将作为一个字符类工作,其中包含
\[
\]
——每天学习新的东西。。。是的,今天查阅了IEEE1003.1,寻找合适的括号表达式规则。在9.3.5关于括号表达式规则/定义1中,它说:如果右括号(']')出现在列表中的第一个括号表达式中(在首个扬抑符('^')之后,如果有),则右括号('])将失去其特殊含义,并在括号表达式中表示。