linux awk命令极易记忆版
2025-08-26 16:15:51 0 举报
AI智能生成
linux awk命令极易记忆版
作者其他创作
大纲/内容
功能
强大的文本操作工具,逐行处理文本,将换行符作为默认换行标识,将空格作为默认的字段分隔符。
基本语法
awk [选项] '[BEGIN{}] {逐行读取文本的相关操作} [END{}]' input_file ...
选项
数据入口配置
注入外部脚本:awk -f scrpt.awk content.txt
指定字段分隔符(默认空格)
awk -F, '{...}' content.txt
awk 'BEGIN{FS=","} {...}' content.txt
指定行分隔符(默认换行符)
awk 'BEGIN{RS="##"} {...}' content.txt
参数传递:awk -v a=100 '{print a}' ...
逻辑大脑(核心处理)
行相关
NR:行号(awk '{print NR,$0}' ...)
筛选
正则:awk '/pattern/ {...}' ...
条件:awk '{if $3>100}'
列相关
$n:取第n列的值($1,$NF)
NF:当前行列数
$0:所有列
流程控制
if (condition) { action }
awk '{if ( $ 1 > 50) print $ 1}' data.txt
for (初始化; 条件; 迭代) { action }
如:awk 'BEGIN {for (i=1; i<=10; i++) print i}'
while (condition) { action }
awk '{i=1; while (i<=NF) {print $ i; i++}}' data.txt
next:跳过行
统计与数组:count[$1]++(统计词频)、delete array(清空数组)
输出配置
普通打印:print $1
格式化打印:printf '%.2f' sum
重定向:print $1 > a.log
管道:print $1 | command
指定输出分隔符:awk 'BEGIN{OFS="|"} {..}' content.txt
脚本骨架(生命周期)
开始前:BEGIN{OFS=",";print "Header"}(初始化)
逐行处理:{...}(匹配模式+动作)
结束后:END{...}(收尾,统计输出)
0 条评论
下一页