本文共 1164 字,大约阅读时间需要 3 分钟。
文件 abc.txt
包含以下内容:
1 this is a file2 apple orange banana pear grape3 a test10 There are orange apple mango
每行按空格或 TAB 分割,共有四列数据。
awk '{[pattern] action}'
awk ''
为了正确处理,首先需要明确字段分割方式。通常,空格或 TAB 五种分隔符默认即可,但有时需要指定。
awk '{print $1,$2}' abc.txt
awk '{print "%-8s %-10s\n",$1,$4}' abc.txt
%-8s
:输出长度最小为8个字符,未充满前补空格%-10s
:同上,长度最小为10个字符\n
:换行如需根据具体情况改变输出格式,可以在 print
语句中添加格式标记或脚本变量。
默认分隔符是空格,如果需要指定分隔符,可以直接在命令中指定。
awk -F "," '{print $1,$2}' filenames.txt
或 -F
:内置变量 FS
,指定分隔符).
awk '$1 > 2' abc.txt
awk '$1 == 2 {print $2,$3}' abc.txt
awk '$1 > 3 && $5 == "apple" {print $2,$3}' abc.txt
&&
和 ||
要注意优先级$PUC
:前一列$PR
:前两列FS
:分隔符OFS
:输出字段分隔符<
、>
、==
、!==
、=~
、!~
head -n 2
查看文件格式cat -n
查看换行符和空格awk
,它的性能对比 sed
较弱AWK 命令是处理文本文件的强大工具,熟练掌握 -F
(分隔符)、print
格式化和逻辑条件语句即可解决大多数日常任务。
欢迎在评论区分享您的学习心得或使用场景!
转载地址:http://gucxz.baihongyu.com/