当前位置: 首页 > news >正文

正则表达式与文本处理器

正则表达式

        基础正大表达式

                查看特定字符 grep


grep-n 'the' test.txt
grep-in 'the' test.txt

                        -n 显示行号

                        -i  不区分大小写

                        -v 反转查找

                        [] :中括号里可以写元素,内容符合任意元素,就会过滤出来

                        ^ :写在中括号里,代表取反。以^开头,后面的内容,代表以此内容开头

                        \:转译,失去特殊字符的含义,当作普通字符使用

                        . :匹配字符,可代替任意字符使用,除换行

                        {} :

                                {3} 前一个字符匹配3次

                                {3,6} 前一个字符匹配3或6次

                        *:前面的内容匹配0次或多次

        扩展正则表达式

sed工具概述

                文本处理工具,读取文本内容,根据指定的条件进行处理,如删除、替换、添加等
                可在无交互的情况下实现相当复杂的文本处理操作
                被广泛应用于shell脚本,以完成自动化处理任务
                sed依赖于正则表达式

        工作原理

                读取 执行 显示

                -n显示处理后的内容,p打印

                        sed -n 'p' test.txt

                打印指定行,打印第几行到第几行

                        sed -n '1p' test.txt sed -n '3,5p' test.txt

                进行筛选打印

                        sed -n '/the/p' test.txt sed -n '/[0-9]$/p' test.txt //打印以数字结尾的内容

                删除指定行

                        sed '3d' test.txt //只显示删除完后的内容但不会删除源文件 sed '3,5d' test.txt //删除第几行到第几行 sed -i '3d' test.txt //没有回显直接进行源文件删除 sed -i '^$' test.txt //删除空格

                替换内容

                        sed -i 's/the/THE/' test.txt //把小写的the替换为THE,只替换每行开头符合条件的 sed 's/a/A/g' test.txt //-g代表全局修改 sed 's/^/#/g' test.txt //开头进行批量注释 sed 's/$/#/g' test.txt //结尾进行批量注释 sed '/^[a-z]/s/^/#/g' test.txt //在所有小写字母开头进行注解

awk工具介绍

功能强的编辑工具

内置变量

FS:指定每行文本的字段分隔符,缺省为空格或制表位

NF:当前处理的行的字段个数

NR:当前处理的行的行号

$0:当前处理行的整行内容

$n:当前处理行的第n个字段

打印每行的第6个字段,并且去掉%跟开头的第一行

df -Th | awk '{print $6}' | awk -F '%' 'NR!=1 {print $1}' 0 0 2 0 3 1 14 0

打印第六列,第七列并去掉开头, 去掉百分号,判断$1>10 就展示对应的$2

df -Th | awk 'NR!=1{print $6,$7}' | awk -F '%' '$1 >10 {print $2}' //$1指的是第一部分过滤后的$6, $2指的是第一部分过滤后的$7

统计以root开头的内容有几行

awk '/^root/{print | "wc -l"}' /etc/passwd

排序以a-z的顺序进行排序

sort 文件名

http://www.lryc.cn/news/382468.html

相关文章:

  • RedisTemplate方法一览表
  • 个人对devops的一点见解
  • HarmonyOS鸿蒙应用开发基础知识
  • Halcon 根据霍夫变换在图像中寻找直线
  • 基于Openmv的追小球的云台
  • 关于scrapy模块中setting.py文件的介绍
  • laravel Blade 指令的趣味性
  • 【面试题】等保(等级保护)的工作流程
  • python调用麦克风和扬声器,并调用阿里云实时语音转文字
  • 描述在React中集成第三方库(如Redux或React Router)的常见模式。
  • JavaScript语法特性篇-空值合并运算符(??)
  • rancher快照备份至S3
  • ChatGPT API教程在线对接OpenAI APIKey技术教程
  • 随心而遇,跟着感觉走
  • LeetCode题练习与总结:只出现一次的数字--136
  • 常见的中间件都在解决什么问题?
  • 微信小程序-scroll-view实现上拉加载和下拉刷新
  • TS中interface和type的区别
  • Hightec编译器系列之高级调试技巧精华总结
  • 【论文笔记】LoRA LOW-RANK ADAPTATION OF LARGE LANGUAGE MODELS
  • 【Sa-Token|4】Sa-Token微服务项目应用
  • 鸿蒙开发系统基础能力:【@ohos.hilog (日志打印)】
  • SpringMVC系列十: 中文乱码处理与JSON处理
  • 使用MyBatisPlus进行字段的自动填充
  • python爬虫之aiohttp多任务异步爬虫
  • 1964springboot VUE小程序在线学习管理系统开发mysql数据库uniapp开发java编程计算机网页源码maven项目
  • 【前端项目笔记】3 用户管理
  • 【文献及模型、制图分享】基于SSP-RCP不同情景的京津冀地区土地覆被变化模拟
  • 基于单片机的智能台灯控制系统
  • PrestaShop的一些使用介绍