首页 > 系统相关 >Linux 文本处理

Linux 文本处理

时间:2024-08-29 17:55:52浏览次数:6  
标签:字符 匹配 输出 正则表达式 文本处理 Linux 字符串

1.正则表达式

        Linux 正则表达式在文本处理和搜索过程中起着非常重要的作用。它可以用于匹配和查找符合特定模式的字符串,从而实现强大的文本处理功能。以下是一些常见的正则表达式作用:

        1. 匹配字符串:正则表达式可以根据指定的模式匹配字符串。比如,可以使用正则表达式查找所有以特定字符开头或结尾的字符串。

        2. 搜索和替换:正则表达式可以用于搜索和替换文本中的特定字符或模式。可以通过正则表达式匹配需要替换的字符串,并使用新的字符串进行替换。

        3. 字符串提取:正则表达式可以从文本中提取特定的信息或字段。例如,可以使用正则表达式从日志文件中提取特定时间段内的日志记录。

        4. 格式验证:正则表达式可以用于验证输入数据的格式。例如,可以使用正则表达式验证邮箱地址、手机号码、IP地址等。

        5. 数据清理:正则表达式可以帮助清理和规范化数据。可以通过正则表达式删除或替换文本中的非法字符、空白字符等。

        总之,正则表达式在Linux中提供了一种强大的方式来处理和操作文本数据,让文本处理变得更加灵活和高效。

元字符作用
.任意单个字符
*前一个字符匹配0次或多次
?匹配前面的子表达式0到1次
^      匹配行首
$匹配行尾
[ ]匹配中括号中的任意一个字符
[^]匹配除中括号以外的任意一个字符。
\转义符
\{n\}表示其前面的字符恰好出现n次。
\{n, \}表示其前面的字符出现不小于n次。
\{n, m\}

表示其前面的字符至少出现n次,最多出现m次。

2.字符串截取命令 

1.cut命令

语法:cut [选项] 文件名

-f                提取第几列

-d               分隔符:按照指定分隔符分割列

-b               以字节单位进行分割

 例:

提前准备好的数据

ID      Name    Password        Level
1       wang    wang1234        2
2       li      li789456        3
3       xv      xv123456        1
4       liao    liao4567        3               

显示第2-4列的数据

cut -f 2-4 aaa

显示第2和4列的数据

cut -f 2,4 aaa

3.printf命令

语法:printf '输出类型输出格式' 输出内容

类型转换符                        解释

%s                                     输出字符串

%i                                      输出整数

%f                                      输出浮点数

转义字符             解释

\a                        输出警告声音

\b                        输出退格键(Backspace)

\f                         清除屏幕

\n                        换行 常用

\r                         回车 常用

\t                         缩进(tab) 常用

\v                        垂直输出退格键

3、awk命令

语法:awk [参数] [处理内容] [文件名]

1、条件(pattern):

>

>=

==

<=

<

例:大于1级的用户

awk '$4 > 1' aaa

例:在开头添加信息

awk 'BEGIN {printf "----------开头------- \n"}{printf$0 "\n"}' aaa

4.统计命令wc 

语法: wc [选项] 文件名

-l           只统计行数

-w         只统计单词数
-m         只统计字符数

如有错误给孩子提醒一下,感谢观看! 

标签:字符,匹配,输出,正则表达式,文本处理,Linux,字符串
From: https://blog.csdn.net/qq_71371157/article/details/141680458

相关文章

  • 红帽系的linux系统中防火墙--firewalld
    firewalld简介firewalld是RedHat系列Linux发行版(如Fedora、CentOS等)引入的一种动态防火墙管理工具,它充当了Linux内核的Netfilter框架的前端,具体防火墙执行是由内核的netfilter来执行的。firewalld提供了一个基于区域(zone)和服务(service)的简化配置界面,使得管理防火墙规则更......
  • Linux通用性-日志切割脚本
    一、公司提供的参考脚本:#!/bin/bash#定义需要清理的文件log_file=("/mpjava/ly.mp.dfpv.acc.biz/bin/nohup.out""/mpjava/ly.mp.dfpv.acc.service/bin/nohup.out")#获取当天日期date_now=$(date+%Y%m%d)forfile_dirin$log_filedo#获取文件路径dir=$(dir......
  • Oracle DB 因宿主机(Linux 虚拟机)意外关停,重启数据库步骤
    前期准备:示例的linux版本为:linux9宿主机重启后,如果之前挂载的oraclehome路径及环境变量未生效,需要先重新设置:exportORACLE_SID=FREEexportORAENV_ASK=NO./opt/oracle/product/23ai/dbhomeFree/bin/oraenv前往home路径下的bin文件夹下进行操作:cd$ORACLE_HOME/bin......
  • linux下UsbMon-WireShark之USB协议抓取分析
    usbmon配置使用usbmon抓包分的,是需要内核开启CONFIG_USB_MON=m,重新编译内核,编译ko:makeARCH=arm64CROSS_COMPILE=aarch64-himix100-linux-CONFIG_USB_MON=mM=./drivers/usb/modules设备挂载debugfs,加载ko:mount-tdebugfsdebugfs/sys/kernel/debug/insmod......
  • Linux | Ubuntu 16.04.4 通过docker安装单机FastDFS
    Ubuntu16.04.4通过docker安装单机fastdfs前言很久没有写技术播客了,这是一件很不应该的事情,做完了事情应该有沉淀的。我先说一点前情提要,公司的fastdfs突然就挂了,做过的操作就是日志文件太大了,所以把日志文件给删了,理论上这个动作应该不影响程序运行才对。然后tracker怎么都......
  • 关于linux系统镜像下载 ubuntu centos
    1.直接上观点:目前主流的linux:乌班图(Ubuntu):主要是个人使用,值得一提的是,目前ai服务器很多都选择乌班图,主要还是centos7官网停更了;centos7:这个可是主流,尽管官网停更,但是这些年积累的用户量是最多的,如果不知道自己服务器用什么,那选centos7肯定没错,各类技术文档,各种问题解决,c......
  • Linux系统安装nginx
    目录一、下载软件包二、安装依赖三、安装Nginx四、启动&停止五、配置systemd方式管理NG六、启动&停止七、实验测试一、下载软件包网址:https://nginx.org/二、安装依赖yum-yinstallgccpcre-develzlib-developensslopenssl-devel三、安装Nginx#解压tar......
  • 3.3.1 Linux中断的使能与屏蔽
    点击查看系列文章 =》 InterruptPipeline系列文章大纲-CSDN博客3.3.1Linux中断的使能与屏蔽3.3.1.1 中断使能与屏蔽的三重关卡        本章的主题是hard_local_irq_disable(),它是对中断的关闭操作。为了彻底搞清楚中断关闭的机制,这里先对Linux使能与屏蔽中断的......
  • 关于linux 中断的嵌套
    在Linux系统中,关于中断嵌套的问题,我们可以从以下几个方面进行说明:###一、Linux中断处理的基本机制Linux系统中的中断是一种异步事件处理机制,用于处理硬件设备或其他系统事件引起的中断请求。中断处理程序(InterruptServiceRoutine,ISR)是操作系统内核中用于响应和处理这些中断......
  • Linux日志查看命令,大日志文件排查问题
    查询关键日志行号,再根据行号查询 cat-ncatalina.out|grep15153294092 cat-ncatalina.out|tail-n+3230539|head-n10 tail-n+3230539表示查询3230539行之后的日志 head-n10则表示在前面的查询结果里再查前10条记录 查看指定时间段内的日志 grep'06-2512:08'......