标签:pass selinux 之间 operator 情况 $0 分解 有一个 file
概念:工作原理
$1,$3
之间有一个逗号,逗号被定为输出字段分割符OFSAWK的命令格式
默认情况下是空格和(tab)进行分割
awk的两种形式的语法格式
awk [options] ‘commands‘ filename
options
command
Example:
awk ‘BEGIN{print 1/2} {print "ok"} END{print "endfile"}‘ /etc/selinux/config
0.5
ok
ok
ok
ok
ok
endfile
-F ":" 实际含义就是 这里FS指定了冒号和
awk ‘BEGIN{FS=":"} {print $1,$2}‘ /etc/passwd
root x
bin x
daemon x
adm x
lp x
sync x
shutdown x
OFS指定了输出的方式
awk ‘BEGIN{FS=":";OFS="---"} {print $1,$2}‘ /etc/passwd
root---x
bin---x
daemon---x
adm---x
lp---x
AWK的命令格式:
awk ‘pattern‘ (模式,正则表达式的模式)filename
awk ‘/root/‘ /etc/passwd
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin
pattern 模式 指的是正则表达式
awk ‘{action}‘ filename
awk -F: ‘{print $1}‘ /etc/passwd
awk ‘pattern {action}‘ filename
awk -F ":" ‘/root/{print $1,$3}‘ /etc/passwd
root 0
operator 11
awk ‘BEGIN{FS=":"} /root/{print $1,$3}‘ /etc/passwd
root 0
operator 11
AWK的内部变量
$0 记录文本的内容
NR 返回屏幕文本所有内容的行号
FNR
awk -F: ‘{print FNR,$0}‘ /etc/passwd
NF 指的行字段的数字
$NF 指的是最后一个字段
FS 输入字段分割符,默认为空格
OFS 输出字段分隔符
RS
awk -F: ‘BEGIN{RS=""} {print $0}‘ filename
ORS
区别:
? 字段分隔符: FS OFS 默认空格或制表符
? 记录分隔符:RS ORS 默认换行符
标签:pass selinux 之间 operator 情况 $0 分解 有一个 file
原文地址:https://blog.51cto.com/9058067/2511248