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