迅维网

awk命令的参数简介

ddhan 2017-10-13 08:50


  在awk程序中可能最有用也是极为经常运用的命令就是print命令。在不带任何参数的情况下,print命令将一行接一行地打印出文件中的所有数据行,下面,举一个运用awk命令的最简单的例子。在这个例子中awk命令将列出由管道送来(who命令的结果)的所有数据行。其实,这个命令的显示结果与who命令没有什么分别:

root@promote:~# who | awk '{print}'
root tty2 2017-04-21 14:42 (:0)
  敲黑板:在文件和Linux命令的结果显示中,每行信息被指定的分隔符分隔成若干个字段,每个字段都被赋予一个唯一的标识符。其中,字段1的标识符是$1,字段2的标识符是$2等。


awk命令的参数简介

  在awk命令中运用字段标识符会使你的一些Linux日常管理和维护工作变得相当简单。如现在只想列出现在正在Linux系统上工作的用户(登录的用户),就可以运用下列命令列出who命令显示结果中每行的第一个字段,即现在登录Linux系统的用户名:

root@promote:~# who | awk '{print $1 }'
root
  不仅如此,你还可以加入一些解释性的信息以使显示的结果更容易阅读,如只想显示用户名和用户现在运用的终端并且在每个用户名之前加入User,在用户名和终端之间加入 is on terminal line 字符串,命令如下:
root@promote:~# who | awk '{print "User " $1 "is on terminal line " $2}'
User root is on terminal line tty2
  也可以将上面的命令略加改造只列出emp.data文件中的第2个字段(员工姓)和第4个字段(员工的工资),并且在员工姓前加上Employee,在员工的姓和员工工资之间加上 has salary 字符串。命令如下:

root@promote:~/backup# awk '{print "Employee " $2 " has salary " $4}' emp.data
Employee SMITH has salary 800
Employee ALLEN has salary 1600
……



雷人

握手

鲜花

鸡蛋

路过
收藏
来自: 今日头条
返回顶部
附近
店铺
微信扫码查看附近店铺
维修
报价
扫码查看手机版报价
信号元
件查询
点位图 AI维修
助手



芯片搜索