您现在的位置是:主页 > Web前端技术 > Web前端技术
awk该怎么用开发技术
IDCBT2022-01-10【服务器技术】人已围观
简介这篇文章跟大家分析一下“awk该怎么用”。内容详细易懂,对“awk该怎么用”感兴趣的朋友可以跟着小编的思路慢慢深入来阅读一下,希望阅读后能够对大家有所帮助。下面跟着小编一
这篇文章跟大家分析一下“awk该怎么用”。内容详细易懂,对“awk该怎么用”感兴趣的朋友可以跟着小编的思路慢慢深入来阅读一下,希望阅读后能够对大家有所帮助。下面跟着小编一起深入学习“awk该怎么用”的知识吧。
awk 打印文本内容
awk: Aho, Kernighan and Weinberger
报告生成器,以特定的条件查找文本内容,再以特定的格式显示出来
awk命令的格式:
# awk [option] 'script' file1 file2 ...
# awk [option] 'PATTERN{action}' file1 file2 ...
PATTERN:
用文本字符与正则表达式元字符描述的条件,可以省略不写
action:
printf 指定输出项的格式;格式必须写
option选项:
-F指定文本分割符
awk处理文本机制:
awk将符合PATTERN的文本逐行取出,并按照指定的分割符(默认为空白,
通过-F选项可以指定分割符)进行分割,然后将分割后的每段按照特定的格式输出
awk的输出:
一、print
print的使用格式:
print item1,item2,....
注意:
1、各项目间使用逗号分隔开,而输出时以空白字符作为分隔
2、输出的item可以为字符串、数值、当前的记录的字段($1)、变量或者awk的表达式;数值会先转换成字符串,然后输出
3、print命令后面的item可以省略,此时其功能相当于print $0($0代表未分割的整行文本内容),因此,如果想输出空白行,则需要使用print "";
以空白分割,显示文本中的第1段及第2段内容
# awk '{print $1,$2}' test.txt
this is
[root@shell ~]# df -hT | sed '1d' | awk '{print "Disk name: ", $1,"Mount Point: ", $7, "Total Size: ", $3, "Free size ", $5}'
示例:
输出3行内容
# awk 'BEGIN{print "line one\nline two\nline three"}'
line one
line two
line three
输出/etc/passwd中的用户名及其uid
# awk -F: '{print $1,$3}' /etc/passwd
awk变量
1、awk内置变量之记录变量
FS: 指定读取文本时,所使用的行分隔符,默认为空白字符;相当于awk的-F选项
OFS:指定输出的分隔符,默认为空白字符;
[root@localhost ~]# head -n 1 /etc/passwd | awk -F: '{print $1,$7}'
root /bin/bash
[root@localhost ~]#
[root@localhost ~]# head -n 1 /etc/passwd | awk 'BEGIN{FS=":"}{print $1,$7}'
root /bin/bash
[root@localhost ~]# head -n 1 /etc/passwd | awk -F: '{print $1,$7}'
root /bin/bash
[root@localhost ~]# head -n 1 /etc/passwd | awk -F: 'BEGIN{OFS="---"}{print $1,$7}'
root---/bin/bash
[root@localhost ~]#
RS: 指定读取文本时,所使用的换行符(指定以什么字符作为换行符);默认为换行符
标签:很赞哦! ()