如何使用awk逐行读取文件
时间:2020-01-09 10:43:07 来源:igfitidea点击:
如何在Unix/Linux操作系统下使用awk实用程序逐行读取文件?
awk是模式扫描和文本处理语言。
它对于数据文件的操作,文本的检索和处理以及算法的原型设计和实验很有用。
AWK的名称源自其作者Alfred Aho,Peter Weinberger和Brian Kernighan的姓氏。
默认情况下,它一次处理一行。
例如,以下命令将一次仅处理一行:
$ cat /etc/passwd | awk '{ print$ awk '{ print}'$ awk -F':' '{ print }' /etc/passwd}' /etc/passwd
或者更好的尝试
$ awk -F':' '{ print "User " " login using " " shell with as " " home dir"}' /etc/passwd
print命令用于输出文本。
$0是整行的字段名称。
默认情况下,空白(空白行)用作字段分隔符。
您可以使用-F选项设置新的字段分隔符。
例如,要将:用作字段分隔符,请执行:
User root login using /bin/bash shell with as /root home dir User daemon login using /bin/sh shell with as /usr/sbin home dir User bin login using /bin/sh shell with as /bin home dir User sys login using /bin/sh shell with as /dev home dir .... .... User gdm login using /bin/false shell with as /var/lib/gdm home dir User Hyman login using /bin/bash shell with as /home/Hyman home dir User sshd login using /usr/sbin/nologin shell with as /var/run/sshd home dir
上面的命令将使用当前行的第一个字段($1)打印所有用户名。
您可以如下打印用户名($1),shell($7)和登录主目录($6)报告:
输出:
##代码##