awk之一基本操作

2020-03-21  本文已影响0人  esroom

awk格式

awk [options] BEGIN 'scripts' END file

变量定义

注意:
1.\t:使用时使用“”;
2.使用变量要加-v,变量可以内部使用

#输出时中间加变量
root:~# awk -v FS=: '/^s/{print $1,FS,FS $3}' /etc/passwd
  sys : x
  sync : x
  systemd-network : x
  systemd-resolve : x
  syslog : x
  sshd : x

printf

#表示显示宽度的字符应该在%之后,同时注意自己加上换行符号“\n”,对齐方式默认为右对齐
root:~#  awk -v FS=: '/nologin/{printf "%20s%30s\n", $1,$7}' /etc/passwd
              daemon             /usr/sbin/nologin
                 bin             /usr/sbin/nologin
                 sys             /usr/sbin/nologin
               games             /usr/sbin/nologin

操作符

#“~”表示模式匹配,部分匹配即可
root:~#  awk -v FS=: '$1 ~ /sy/{printf "%20s%30s\n", $1,$7}' /etc/passwd
                 sys             /usr/sbin/nologin
                sync                     /bin/sync
     systemd-network             /usr/sbin/nologin
     systemd-resolve             /usr/sbin/nologin
              syslog             /usr/sbin/nologin
# i=1没有action,1不为0,即默认为打印$0
root:~#  head /etc/passwd | awk -v FS=: 'i=1'
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
sync:x:4:65534:sync:/bin:/bin/sync

上一篇下一篇

猜你喜欢

热点阅读