首页 > 其他分享 >awk

awk

时间:2023-11-22 15:44:21浏览次数:35  
标签:awk Tom print my hello friend

awk:能够对文本的每一行都进行复杂的格式处理,它支持关系运算符、算法运算符, 正则表达式, if ,while,for等逻辑,是一种处理文本的语言。

基本格式: awk  '{pattern + action}'  <file>

1、awk 默认分隔符为空格和制表符,输出函数有print和printf, $1、$2...表示分割的字符

举例: 

echo "hello my friend,Tom"| awk '{print $1"\n"$2"\n"$3"\n"$4}'

输出:

hello
my
friend,Tom

2、可以使用-F ' ' 指定分割符,如下,指定分割符为' ,'或者空格

举例:

echo "hello my friend,Tom"| awk -F ',| ' '{print $1"\n"$2"\n"$3"\n"$4}'

输出:

hello
my
friend
Tom

3、awk内置变量   

  $0 - 当前整行 

  NR - 当前已读行数 

  NF - 当前行被分割的列数

  FILENAME - 当前文件名称

举例:

echo "hello my friend,Tom"| awk  '{print $0"\n" NR"\n" NF"\n" FILENAME}'

输出:

hello my friend,Tom
1
3
-

4、关键字 BEGIN:表示在awk程序开始所有的行之前前执行一次;END:表示在awk程序结束所有的行之后执行一次

举例:

awk  -F ':' 'BEGIN{print "Begin"} END{print "End"} {if(NR<=3) print $1"\n" NF}' /etc/passwd

输出:

Begin
root
7
bin
7
daemon
7
End

开头执行输出"Begin", 最后执行输出"End"

 

 

 

 

    

标签:awk,Tom,print,my,hello,friend
From: https://www.cnblogs.com/ho966/p/17849173.html

相关文章

  • Linux文本三剑客-awk
    目录详解awk基础awk场景选项实验简单输出详解awk是一个强大的linux命令,有强大的文本格式化的能力,好比将一些文本数据转化成专业的Excel表的样式awk基础语法awk[option]'pattern[action]'file...awk参数'条件动作'文件action值得是动作,awk擅长文......
  • Linux三剑客(3)·awk
    对文本和数据进行处理的编程语言awk命令的功能是用于对文本和数据进行处理的编程语言。使用awk命令可以让用户自定义函数或正则表达式对文本内容进行高效管理,与sed、grep并称为Linux系统中的文本三剑客语法格式:awk参数文件名常用参数-c使用兼容模式-C显示版权信息-e指定源码文件-......
  • sed和awk之间有什么区别?[已关闭]
    内容来自DOChttps://q.houxu6.top/?s=sed和awk之间有什么区别?[已关闭]awk和sed之间有什么区别?sed和awk工具适用于哪些类型的应用场景?sed是一种流编辑器。它按行处理字符流。它有一个简单的编程语言,包括类似goto的循环和简单的条件语句(除了模式匹配和地址匹配)。它实际上......
  • Linux awk命令
    除了使用sed命令,Linux系统中还有一个功能更加强大的文本数据处理工具,就是awk。曾有人推测awk命令的名字来源于awkward这个单词。其实不然,此命令的设计者有3位,他们的姓分别是Aho、Weingberger和Kernighan,awk就取自这3为大师姓的首字母。和sed命令类似,awk命令也是......
  • Awk实战案例精讲
    Awk实战案例精讲插入几个新字段在"abcd"的b后面插入3个字段efg。echoabcd|awk'{$3="efg"$3}1'格式化空白移除每行的前缀、后缀空白,并将各部分左对齐。aaaabbbcccbbbaaacccdddfffeeeggh......
  • 一篇文章玩透awk
    安装新版本gawkawk有很多种版本,例如nawk、gawk。gawk是GNUawk,它的功能很丰富。本教程采用的是gawk4.2.0版本,4.2.0版本的gawk是一个比较大的改版,新支持的一些特性非常好用,而在低于4.2.0版本时这些语法可能会报错。所以,请先安装4.2.0版本或更高版本的gawk。查看awk版本awk--v......
  • Linux小技巧之awk必知必会
    LinuxShell三剑客之一,废话不多说直接上干货。目录1.指定分隔符2.指定打印行数3.打印最后一列4.打印倒数第二列5.匹配输出6.if判断7.统计列总数值8.时间格式转换示例数据:1.指定分隔符awk-F'|''{print$1}'log.txt#awk-F'|''{print$1}'log.txttbname============......
  • awk替换指定行指定列内容
    例如表格中数值如下1,2,3,41,2,1,22,3,2,3怎么样在原表中,把第二行第三个1替换为5。 awk-F","'NR==2{$3=5}1'file.txt-F指定分隔符NR表示当前处理的行数。$3表示当前行的第三个字段;最后一位参数1代表:一个表达式,“1”不是固定的,所有的非零的数都可以。用于表示条件表......
  • 无涯教程-AWK - 位操作函数
    AWK具有以下内置位处理函数-and与运算执行按位与运算。[Learnfk]$awk'BEGIN{num1=10num2=6printf"(%dAND%d)=%d\n",num1,num2,and(num1,num2)}'在执行此代码时,您将获得以下输出-(10AND6)=2compl补码运算它执行按位补码运算。[Learnfk]$awk'BE......
  • 无涯教程-AWK - 时间函数
    AWK具有以下内置时间函数-该函数返回当前的当前时间,该时间是自Epoch(在POSIX系统上为1970-01-0100:00:00UTC)以来的秒数。[Learnfk]$awk'BEGIN{print"NumberofsecondssincetheEpoch="SYSTIME()}'在执行此代码时,您将获得以下输出-Numberofsecondssincethe......