轻松去除多余空格:Linux awk命令 (linux awk 去除空格)

在编辑文本或处理数据时,我们常常会遇到需要去除多余空格的情况。例如在制作表格或统计数据时,数据可能会出现多余的空格,这会影响数据的准确性。此时,我们可以使用Linux系统中的awk命令来轻松地去除多余空格。

什么是awk命令?

awk是一种强大的文本处理工具,它可以处理文本文件中的文本、数字、字符串等数据,并且能够以各种形式对这些数据进行处理。awk是一种解释型语言,它可以在命令行中直接使用,也可以编写脚本文件进行批处理操作。awk命令比较灵活,可以方便地进行多种文本处理操作。

如何使用awk命令去除多余空格?

awk命令最常用于文本处理中,可以方便地对数据进行分割、格式化、过滤等操作。在去除多余空格的情况下,我们可以使用awk命令中的gsub函数,该函数可以全局替换字符串中的内容,并且支持使用正则表达式进行匹配。

具体可以使用以下命令行操作:

“`

awk ‘{gsub(/ +/, ” “); print}’ filename

“`

上述命令中,大括号内的内容表示要执行的awk脚本,其中使用了gsub函数,在字符串中查找连续空格并替换成单个空格。print表示将处理结果输出到终端。filename为要处理的文件名,可以替换成对应的文件路径。

如果要替换所有的多余空格,可以将正则表达式修改为/\s+/,即查找所有连续的空白字符,包括空格、制表符、换行符等,并替换为单个空格。

“`

awk ‘{gsub(/\s+/, ” “); print}’ filename

“`

另外,如果要对多个文件进行处理,可以使用通配符来表示文件名的匹配。例如,处理当前目录下所有以.txt结尾的文件,可以使用以下命令:

“`

awk ‘{gsub(/ +/, ” “); print}’ *.txt

“`

awk命令是Linux系统中非常强大的文本处理工具,可以方便地对数据进行分割、格式化、过滤等操作。去除多余空格是我们经常遇到的文本处理需求之一,使用awk命令可以轻松地解决该问题。我们只需要掌握一些基本操作和语法规则,就可以利用awk命令高效地处理文本数据。

相关问题拓展阅读:

linux awk命令详解

awk命令是linux下的一个文件管理命令,通常是用于文本和数据进行处理的编程语言,awk命令主要有两个功能,具体介绍如下:

、awk命令可以在linux/unix下对文本和数据进行处理;

、awk命令支持用户自定义函数和动态正则表达式。

      参考范例:

      比如打印每一行的第二和第三个字段正模首,具体命令为:

      #awk'{print$2,$3}’file

      awk命令的具体语码纯法格举数式为awk。

      参数:

F指定输入时用到的字段分隔符

v自定义变量

f从脚本中读取awk命令

m对val值设置内在限制

      以上就是的分享了,希望能够帮助到大家。

      

本文章基于ThinkpadE15品牌、centos7系统撰写的。

awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在对数据分析并生成报告时,显得尤为强大。

简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部饥物型分再进行各种分析处理。

awk有三个不同的版本:awk、nawk和gawk,未作特别说明,一般指gawk,gawk是awk的GNU版本。

之所以叫awk是因为其取了三位创始人Alfred Aho,Peter Weinberger,和Brian Kernighan的Family

Name的首字符。

awk格式:

格式: sed -n ‘3p’ sed.txt

找谁干啥(条件蚂启动作)

awk格式

#取出/etc/passwd 第1行的第1列和第3列

awk -F: ‘NR==1{print $1,$3}’ /etc/passwd

awk 选项 ‘条件{动作}’ /etc/passwd

条件: 哪一行,过滤什么内容

动作: print输出与显示 ,计算….

awk取行:与sed类似

案例01:取出sed.txt的第2行

# cat sed.txt

101,oldgirl,CEO

102,zhangya,CTO

103,lidao007,COO

104,yy,CFO

105,feixue,CIO

110,lidao,COCO

# awk ‘NR==2’ sed.txt

102,zhangya,CTO

#awk ‘行号 等于 2’ sed.txt

#NR awk内置变量

Number of Record 记录号(行号)

案例02:取出sed.txt中包含oldboy或lidao的行

# sed -rn ‘/oldboy|lidao/p’ sed.txt

103,lidao007,COO

110,lidao,COCO

# awk ‘/oldboy|lidao/’ sed.txt

103,lidao007,COO

110,lidao,COCO

案例03:取出文件第2行到第5行内容

#awk ‘行号大于等于2 并且 行号小于等于5’ sed.txt

#方法01

awk ‘NR>=2 && NR= 3’ sed.txt

103,lidao007,COO

104,yy,CFO

105,feixue,CIO

110,lidao,COCO

# sed -n ‘3,$p’ sed.txt

103,lidao007,COO

104,yy,CFO

105,feixue,CIO

110,lidao,COCO

案例05:取出从包含oldboy的行到lidao的行

# cat sed.txt

101,oldgirl,CEO

102,zhangya,CTO

103,lidao007,COO

104,yy,CFO

105,feixue,CIO

110,lidao,COCO

root@oldboy81-golden-lnb /oldboy># sed -n ‘/old/,/lidao/p’ sed.txt

101,oldgirl,CEO

102,zhangya,CTO

103,lidao007,COO

# awk ‘/old/ , /lidao/’ sed.txt

101,oldgirl,CEO

102,zhangya,CTO

每日一条linux 命令 : awk

一次读取一行文本,按输入分隔符进行切片,切成多个组成部分,将每片直接保存在内建的变量中,皮含伏$1,$2,$3….,引用指定的变量,可以显示指定段,或者多个段。如果需要显示全部的,需要使用$0来引用。可以对单个片段进行判断,也可以对所有段进行循环判断。

其默认分隔符为空格

awk ‘program’ FILE……

说明

主要有两种模式

1、 awk ‘scripts’ file1,file2…..

在这种模式中,scripts主要是命令的堆砌,命令之间用 分号 分割;对输入的文本行进行处理,通过命令 print,printf 或是输出重定向的方式显示出来,这里经常用到的知识点是:awk的内置变量,以及命令print和printf的使用

2、 awk ‘PATTERN{action}’ file,file2…..

在这种模式中,最重要的燃携是5种模式和5种action的使用,以及awk的数组的使用和内置函数老差

其格式化输出: printf FORMAT,item1,item2….

例子: awk ‘{printf “%-8s %-8s %-8s %-18s %-22s %-15s\n”,$1,$2,$3,$4,$5,$6}’ netstat.txt

格式符

修饰符

输出重定向

linux awk 去除空格的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于linux awk 去除空格,轻松去除多余空格:Linux awk命令,linux awk命令详解,每日一条linux 命令 : awk的信息别忘了在本站进行查找喔。


数据运维技术 » 轻松去除多余空格:Linux awk命令 (linux awk 去除空格)