linux之文本处理三剑客
文章平均质量分 64
文本处理三剑客
LK丶旋律
这个作者很懒,什么都没留下…
展开
-
文本处理之awk高级进阶
数组awk的数组为关联数组格式array_name[index-expression]范例:weekdays["mon"]="Monday"index-expression利用数组,实现 k/v 功能可使用任意字符串;字符串要使用双引号括起来如果某数组元素事先不存在,在引用时,awk会自动创建此元素,并将其值初始化为“空串”若要判断数组中是否存在某元素,要使用“index in array”格式进行遍历范例:[root@longwang ~]# awk 'BEGIN{weekd原创 2021-05-05 09:46:17 · 343 阅读 · 0 评论 -
文本处理之awk进阶
模式PATTERNPATTERN:根据pattern条件,过滤匹配的行,再做处理 如果未指定:空模式,匹配每一行范例:[root@CentOS-8 ~]# awk -F: '{print $1,$3}' /etc/passwdroot 0bin 1daemon 2adm 3/regular expression/:仅处理能够模式匹配到的行,需要用/ /括起来范例[root@CentOS-8 ~]# awk '/^UUID/{print $1}' /etc/fstab UUID原创 2021-05-04 18:34:12 · 591 阅读 · 4 评论 -
文本处理之awk基础
预定义变量预定义变量分为两类:控制awk工作的变量和携带信息的变量。第一类:控制AWK工作的预定义变量RS :输入记录分隔符,默认为换行符\n ,参考RSIGNORECASE :默认值为0,表示所有的正则匹配不忽略大小写。设置为非0值(例如1),之后的匹配将忽略大小写。例如在BEGIN块中将其设置为1,将使FS、RS都以忽略大小写的方式分隔字段或分隔recordFS :读取记录后,划分为字段的字段分隔符。参考FSFIELDWIDTHS :以指定宽度切割字段而非按照FS。参考FIELDWIDTH原创 2021-05-04 14:59:52 · 345 阅读 · 1 评论 -
文本处理之sed
sed文本编辑工具和 vi 不同,sed是行编辑器sed工作原理sed是从文件或管道中读取一行,处理一行,输出一行;再读取一行,再处理一行,再输出一行,直到最后一行。每当处理一行时,把当前处理的行存储在临时缓冲区中,称为模式空间(PatternSpace),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。一次处理一行的设计模式使得sed性能很高,sed在读取大文件时不会出现卡顿的现象。如果使用vi命令打开几十M上百M的文件,明显会原创 2021-05-02 11:23:14 · 189 阅读 · 1 评论