永发信息网

linux shell编程 awk ‘BEGIN{FS=":"}$1~/root/' /etc/passwd awk ‘BEGIN{FS=&

答案:2  悬赏:70  手机版
解决时间 2021-03-17 10:48
  • 提问者网友:疯孩纸
  • 2021-03-17 02:14
linux shell编程 awk ‘BEGIN{FS=":"}$1~/root/' /etc/passwd awk ‘BEGIN{FS=":"}$1' /etc/passwd 区别
最佳答案
  • 五星知识达人网友:荒野風
  • 2021-03-17 03:08
你的理解错误了
BEGIN{FS=":"} 表示以:分隔字段

第一句,如果第一个字段含有root, 输出该行
~表示匹配
~/root/表示匹配root字符串
$1~/root/表示第一个字段匹配root字符串
如果true, defualt print

第二句,如果第一个字段非空,输出该行 (而不是你说的输出第一个域)
全部回答
  • 1楼网友:北城痞子
  • 2021-03-17 04:35
第一句: 第一个域中包含root时则打印此行,“~"是正则匹配,和match功能相当
第二句:如果存在$1,也就是此行不空,则打印该行
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯