当前位置: 首页 > Linux

如何使用Awk处理文本内容

时间:2023-04-06 11:08:51 Linux

Awk是一个非常强大的工具,专为高级文本处理而设计。它逐行搜索扫描文件,将每行输入拆分为字段,将输入行或字段与模式进行比较,并对匹配结果执行操作。在本节中,我们将使用sub和gsub函数以及awk命令从文件中删除制表符和空格。我们将使用以下文本文件作为本文所有示例的输入文件:[root@localhost~]#cat<>content.txt当出现大于号时,将以下内容复制到终端并保存文件中的文本内容到content.txt。HiteshEngineerSales30000Jayesh董事帐户25000VYOM经理购买20000BHAVESH工程师销售30000Rajesh目录销售400000000nirajClerk帐户20000JAYPEON购买23000DeepClerkSales20000Eofsales20000eof如何变量NF,从文件中删除所有空行。例如,删除文件content.txt中的所有空行。[root@localhost~]#awkNFcontent.txt如何使用awk处理文本内容选项卡并删除它。您可以使用以下命令:[root@localhost~]#awk'{sub(/^[\t]+/,"");print}'content.txt如何使用awk处理文本内容如何使用awk处理文本内容命令行的意思是:使用sub函数找到以制表符和空格开头的行,将空格和制表符替换为空。注意:sub()函数替换只发生在第一次匹配时,即一行中有多个空格或多个制表符,只替换左边第一个。要删除末尾的空格和制表符,可以使用以下命令:[root@localhost~]#awk'{sub(/[\t]+$/,"");print}'content.txt查询首尾空格和制表符,可以使用如下命令:[root@localhost~]#awk'{gsub(/^[\t]+|[\t]+$/,"");print}'content.txtgsub函数表示满足条件,替换所有匹配字符。倒序列出文件中的所有行它记录数组中的所有行并将它们倒序排列。使用以下命令:[root@localhost~]#awk'{b[i++]=$0}END{for(j=i-1;j>=0;)printb[j--]}'content.txt如何使用awk处理文本内容如何使用awk处理文本内容为每一行内容添加行号使用以下命令使用NF内置变量对非空行进行编号:[root@localhost~]#awk'NF{$0=++a":"$0};{print}'content.txt如何使用awk处理文本内容如何使用awk处理文本内容打印包含特定字符串的行数使用以下命令打印包含工程师的总行数:[root@localhost~]#awk'/工程师/{n++};END{printn+0}'content.txtHowtoprocessthetextcontentwithawkLine:[root@localhost~]#awk'/engineer/'content.txt如何使用awk处理文本内容Howuseawktoprocesstextcontent打印不匹配指定字符串的行在下面的例子中,打印不包含字符串jayesh的行:[root@localhost~]#awk'!/jayesh/'content.txt如何使用awk来处理文本内容如何使用awk处理文本内容替换字符串示例1:将content.txt中的字符串“engineer”替换为“doctor”,使用gsub()函数:[root@localhost~]#awk'{gsub(/engineer/,"doctor")}{print}'content.txt如何使用awk处理文本内容如何使用awk处理文本内容示例二:查找字符串“jayesh”、“hitesh”或“bhavesh”并将其替换为字符串“mahesh”,运行以下命令:[root@localhost~]#awk'{gsub(/jayesh|hitesh|bhavesh/,"mahesh");print}'content.txt如何使用awk处理文本内容如何使用awk处理带df的文本内容显示磁盘空间的命令您可以使用带有df的awk命令来仅显示设备名称和可用空间以及使用情况[root@localhost~]#df-h|awk'{printf("%-24s\t%-6s\t%-4s\n",$1,$4,$5)}'如何用awk处理文本内容。它将显示与服务器的打开连接列表,并按编号对它们进行排序。[root@localhost~]#netstat-ntu|awk'{print$5}'|cut-d:-f1|awk'/[0-9]/'|sort|uniq-c|sort-nawk使用方法文本内容如何与Awk一起工作总结让我们通过实际示例了解如何使用单行awk命令执行日常任务。