每个文件一次对awk更改的评论使我思考1
并{print}
在awk中是平等的。但事实并非如此。
awk '/^\S/ {core=0} /^_core/ {core=1} !core 1' views.view.who_s_online.yml|head
uuid: 50715f68-3b13-4a15-8455-853110fd1d8b
langcode: en
status: true
dependencies:
module:
- user
_core:
default_config_hash: DWLCIpl8ku4NbiI9t3GgDeuW13KSOy2l1zho7ReP_Bg
id: who_s_online
label: 'Who''s online block'
比较一下(这就是我想要的顺便说一句):
awk '/^\S/ {core=0} /^_core/ {core=1} !core {print}' views.view.who_s_online.yml|head
uuid: 50715f68-3b13-4a15-8455-853110fd1d8b
langcode: en
status: true
dependencies:
module:
- user
id: who_s_online
label: 'Who''s online block'
module: user
description: 'Shows the user names of the most recently active users, and the total number of active users.'
awk程序的结构是一系列条件和操作:
condition { action }
默认值condition
是1
(真),所以没有条件的行为总是发生:
{ action } # is equivalent to
1 { action }
默认动作是print
,因此很多时候您会1
在awk脚本中看到而不是的字母{ print }
。
但是,在您的脚本中,您的条件是!core 1
。这将取反的值,将其core
强制为字符串并与字符串连接"1"
。非空字符串始终为true,因此将打印每条记录。
如果只想打印core
错误的记录,则可以单独!core
用作条件。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句