云服务器awk读取文件的基本逻辑

2025-01-01 23 0

# 用法awk 'awk_program' a.txt

语法解析:

  • a.txt 是awk要读取的文件,可以是0个文件、一个文件或者多个文件;如果给定0个文件,则标识从标准输入中读取
  • 单引号包围的是awk代码,也称为awk程序;尽量使用单引号,因为在awk程序中经常使用$符号,而$符号在shell中是变量符号,如果使用双引号,则$符号会被shell解析为shell变量,然后进行变量替换;使用单引号,会让$符号留给awk去解析
  • awk程序中,大量使用大括号,大括号表示代码块,代码块中间可以直接连用,代码块内部的多个语句使用分号";"隔开
# 范例# 输出a.txt中的每一行awk '{print $0}' a.txt# 多个代码块,代码块中多个语句# 输出每行之后还输出两行:hello行和world行awk '{print $0}{print "hello";print "world"}' a.txt

对于awk '{print $0}' a.txt,它类似于shell的while循环while read line;do echo "$line";done 

下面再分析该awk命令的执行过程:

  1. 读取文件第一行(awk默认按行读取文件)
  2. 将所读取的行赋值给awk的变量$0,于是$0中保存的就是本次所读取的行数据
  3. 进入代码块{print $0}并执行其中代码print $0,即输出$0,也即输出当前所读取的行
  4. 执行完本次代码之后,进入下一轮awk循环:继续读取下一行(第二行)
  5. 退出awk

 


本网站发布或转载的文章均来自网络,其原创性以及文中表达的观点和判断不代表本网站。

    相关文章

    服务器开机时遇到内存错误,该如何解决?
    如何开通服务器的远程访问功能?
    门户网站制作平台与云GIS门户服务器平台有何区别?
    为何服务器需要开放25端口?探究其背后的原因与影响
    如何开通服务器的访问权限?
    GPU独立服务器租用的全面指南

    发布评论