文本处理工具

Python数据可视化:Matplotlib核心概念与实战技巧 数据可视化是数据分析的重要环节,Matplotlib作为Python生态中最基础的可视化库,采用分层对象模型实现灵活绘图。其核心架构包含Figure画布、Axes坐标系和Artist元素三个层级,通过坐标系转换系统支持数据坐标系、轴坐标系等多种空间映射方式。在工程实践中,面向对象的API调用方式能更好地控制图表元素,而折线图、柱状图等基础图表通过线宽、标记样式等参数可实现专业级呈现。对于多维数据展示,雷达图和箱线图分别擅长呈现特征分布和离群值分析。通过GridSpec布局和rcParams配置,可以快速创建 阅读详情

目录

一. grep 

1. grep 格式 

​ 2. grep字符数量匹配规则

​ 二. sed  

1. 命令格式

2. 对字符的处理

a) p##显示

​ b) d##删除

c) a##添加

​ d) c##替换

​ e) w##把符合的行写到指定文件中

​f) i##插入

​  g) r##整合文件

​3. sed 字符替换

​三. awk

1. 使用方法


一. grep 


 grep(global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。

grep -E = egrep
 

1. grep 格式 


grep 匹配条件 处理文件

grep root passwd            ##过滤root关键字
grep ^root passwd           ##以root开头
grep root$ passwd           ##以root结尾
grep -i root passwd         ##后略大小写
grep -E "\<root" passwd     ##root字符之前不能有字符
grep -E "root\>" passwd     ##root字符之后不能有字符
grep -数字                  ##显示过滤行以及上面几行和下面几行
grep -n                     ##显示匹配的行所在行号
grep -A                     ##显示过滤行以及下面几行
grep -B                     ##显示过滤行以及上面几行
grep -v                     ##反向过滤



 
2. grep字符数量匹配规则

^westos              ##以westos开有
westos$              ##以westos结尾
w....s               ##w开头s结尾中间4个任意字符
.....s               ##s结尾前面5个任意字符
*                    ##字符出现0到人一次
?                    ##0到1此
+                    ##1到任意此
{n}                  ##n此
{m,n}                ##m到n次
{0,n}                ##0-n次
{,n}                 ##0-n次
{m,}                 ##最少m次
(lee){2}             ##lee字符串出现2次



 
练习脚本:
请显示系统中能被su命令切换的用户名称


 
二. sed  

       sed是一种流编辑器,它是文本处理中非常中的工具,能够完美的配合正则表达式使用,功能不同凡响。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有改变,除非你使用重定向存储输出。Sed主要用来自动编辑一个或多个文件;简化对文件的反复操作;编写转换程序等。

1. 命令格式


sed 参数 命令 处理对象
sed 参数 处理对象 -f 处理规则文件
 

2. 对字符的处理

 

a) p##显示

-ne表示多行策略

sed -n  5p westos         ##显示第五行
sed -n  3,5p westos       ##显示3到5行
sed -ne  "3p;5p westos    ##显示3和5行
sed -ne 1,5p westos       ##1-5行
sed -ne '5,$p'westos      ##5到最后一行
sed -n '/^#/p' fstab      ##显示以#开头的行


 
b) d##删除

sed 5d westos                 ##删除第五行
sed '/^#/d'fstab              ##把#开头的行删除
sed '/^UUID/!d' fstab         ##除了UUID以外的行都删除
sed -e '5,$d' westos          ##由第5行删到最后

c) a##添加

sed -e '$a hello world' fstab
sed -e '$a hello\nworld' fstab
sed -e '/^#/a hello world' fstab


 
d) c##替换

sed -e '/^#/c hello world' fstab
sed '5chello world' westos


 
e) w##把符合的行写到指定文件中

sed '/^UUID/w westofile' westos       ##把westos中UUID开头的行写入westosfile中


f) i##插入

sed '5ihello westos' westos


 
 
g) r##整合文件

sed '5r haha' westos


3. sed 字符替换

s表示全文

sed 's/:/###/g' westos                     ##将每一行第一个出现的:替换为###
sed 's/:/###/' westos                      ##将所有的:替换为###
sed '1,5s/:/###/g' westos                  ##将1到5行的:替换为###
sed '1s/:/###/g' westos                    ##将第一行的:替换为###
sed '1s/:/###/g;5s/:/###/g' westos         ##将第一行和第五行的:替换为###
sed '/lp/,/shutdown/s/:/###/g' westos      ##将lp到shutdown之间的:替换为###
sed 's/\//####/g' westos                   ##将所有的/替换为####
sed 's@/@####@g' westos                    ##将分隔符号用@代替,避免出现错误
sed 's@/@####@g' -i  westos                ##把sed处理的内容保存到westos文件中

练习及脚本
Apache_port.sh
此脚本后介入数字
http的端口就改为此数字
假设selinux为关闭状态


三. awk

        awk是一种编程语言,用于在linux/unix下对文本和数据进行处理。数据可以来自标准输入(stdin)、一个或多个文件,或其它命令的输出。它支持用户自定义函数和动态正则表达式等先进功能,是linux/unix下的一个强大编程工具。它在命令行中使用,但更多是作为脚本来使用。awk有很多内建的功能,比如数组、函数等,这是它和C语言的相同之处,灵活性是awk最大的优势。

1. 使用方法

awk -F 分隔符(默认不加F的情况下,分隔符为空格)BEGIN{}{}END{} FILENAME
NR         ## 行数
NF         ## 列数
FILENAME   ## 文件名称本身
test        ## test变量值
"test"      ## test字符串
 
/bash$/           ## 条件
/条件1|条件2/      ## 条件1或者条件2
/条件1/||/条件2/   ## 条件1或者条件2
/条件1/&&/条件2/   ## 条件1并且条件2
 
$0   ## 所有的列
$1   ## 第一列
$2   ## 第二列
$6   ## 第六列

统计一个文件的行数

注:N初始值为0,操作为N++,最后打印出N的值 passwd为查询的文件

awk -F : '{print NF}' passwd            ## 分隔符为:,打印每行有多少列
awk '{print NR}' passwd                 ## 默认分隔符为空格,打印行号
awk -F : '/bash$/{print NF}' passwd     ## 分隔符为:,打印以bash结尾的行有多少列
awk '/^root/{print}' passwd             ## 默认分隔符为空格,打印以root开头的行内容
awk '/nologin$/{print FILENAME}' passwd ## 以nologin结尾的行,有多少行就打印多少个FILENAME

awk -F : '/bash$/||/csh$/{print $1}' passwd   ## 两个条件,以bash或csh结尾的
awk -F : '/bash$|csh$/{print $1}' passwd      ## 一个条件
awk -F : '/^root/&&/bash$/{print $1}' passwd  ## 以 root开头并且以bash结尾的

awk -F : '$6!~/home/&&/bash$/{print}' passwd  ## 表示/etc/passwd文件第6列没有home关键字,并且以bash结尾的行

awk脚本练习
统计系统中能通过su切换的并且用户家目录不在/home下的用户数量

24、文本处理工具全解析 本文详细介绍了多种常用的文本处理工具,包括tr和sed的基本用法,以及aspell在拼写检查方面的应用。通过示例演示了如何使用这些工具完成字符转换、文本替换、日期格式修正以及拼写错误检查等任务。同时,还讨论了文本处理中的性能优化方法和常见问题的解决策略。文章最后提供了一个综合应用示例,展示了如何结合tr、sed和aspell处理包含HTML标记的文本文件。 阅读详情

相关推荐

IMU预积分--详细推导过程

IMU预积分推导

weixin_51547017的博客 2万+

Linux处理目录的常用命

1.ls: 列出目录 选项与参数: -a :全部的文件,连同隐藏档( 开头为 . 的文件) 一起列出来(常用) -d :仅列出目录本身,而不是列出目录内的文件数据(常用) -l :长数据串列出,包含文件的属性与权限等等数据;(常用) 语法:                 [root@www ~]# ls -al ~ 2.cd:切换目录  语法:      

Xu_Renata的博客 1000

CANoe开发入门到精通读书笔记(2)——CAPL编程

CAPL函数的语法跟C语言很类似,但也包含一些C语言所不具备的功能大部分CAPL支持的数据类型都可以直接声明为函数参数, 例如,整型、浮点型、枚举、结构、定时器以及它们的引用。但有一些类型不能被直接声明,而需要加上*号(注意该符号并不是C语言中 指针的意思)。例 如 : signal * s 、 envvarInt * ev 、 sysvarFloat * sv 、 diagRequest * dr、diagResponse * dr、int matrix[][],以及。

weixin_66275497的博客 6459

红帽linux复制文件夹命令,复制文件与文件夹的CentOS常用命令

复制文件与文件夹的CentOS常用命令cpNO1. 复制指定目录的文件到当前目录,并重命名[root@rehat root]# cp ~/.bashrc bashrc_bakNO2. 强制复制指定目录的文件到当前目录,而不管当前目录是否含有该文件[root@rehat root]# cp -f ~/.bashrc bashrcNO2. 复制指定目录到当前目录[root@rehat root]# c...

weixin_39892565的博客 1206

京瓷扫描驱动安装_京瓷喷头拆解和供墨原理剖析

在工业喷头打印领域,京瓷喷头作为主流喷头广泛应用于喷墨行业,目前京瓷喷头市面上销售主要有两个系列:KJ4A和KJ4B。其中KJ4A系列设计是用于油性墨水,例如UV墨水,主要用在广告领域;而KJ4B设计用于水性墨水,例如活性、分散墨水等,主要用在数码印花领域。最近我们团队对京瓷喷头进行了拆解分析,本期和大家分享一下我们对京瓷喷头拆解和喷头供墨原理的研究。京瓷喷头介绍1. KJ4A系列(油性)如下图所...

weixin_39883906的博客 1672

【fNIRS可视化学习1】基于NIRS-SPM进行光极可视化并计算通道坐标

设头皮上的目标点为P₀(x₀, y₀, z₀),需要在大脑皮层点集S上找到最合适的投影点P'。

Rose9614的博客 2208

NE(Network Embedding)论文小览

NE(Network Embedding)论文小览自从word2vec横空出世,似乎一切东西都在被embedding,今天我们要关注的这个领域是Network Embedding,也就是基于一个Graph,将节点或者边投影到低维向量空间中,再用于后续的机器学习或者数据挖掘任务,对于复杂网络来说这是比较新的尝试,而且取得了一些效果。 本文大概梳理了最近几年流行的一些方法和论文,paper主要是来自t

DarkScope从这里开始 3万+

多智能体强化学习之值函数分解:VDN、QMIX、QTRAN系列优缺点分析(转载)

关于多智能体强化学习中VDN,QMIX,QTRAN三个算法再值分解方向的研究成果。三个算法呈递进关系

qq_33328642的博客 5859

如何快速上手 Ne 编辑器:新手必备的高效文本编辑工具指南

Ne(nice editor)是一款基于 POSIX 标准的免费文本编辑器,适用于几乎所有 UN*X 系统。它既简单易用,适合初学者快速掌握,又具备强大功能和高度可配置性,能满足高级用户的专业需求,同时还能最大限度地节省系统资源。 ## 🚀 一键安装 Ne 编辑器的简单步骤 安装 Ne 编辑器非常便捷,根据你的需求选择以下任一方法: ### 标准安装到系统目录 如果你拥有 root 权限,

gitblog_00058的博客 419

YOLOv11改进策略【模型轻量化】| 使用 MoblieOne 模块,引入结构重参数化,提高模型检测效率

本文记录的是基于MobileOne的YOLOv11骨干网络改进方法研究。MobileOne的基础模块通过重参数化,。在将其替换YOLOv11的骨干网络后,实现模型轻量化。

Limiiiing的博客 1424

构建企业级AI税务顾问:优化税收策略与合规

本文深入探讨了构建企业级AI税务顾问的重要性及其在实际应用中的价值。通过分析当前税务领域的挑战和问题,本文详细介绍了AI税务顾问的基本原理、技术架构、核心功能以及实践应用。文章以逐步分析的方式,从背景介绍、核心概念与联系、算法原理讲解、系统分析与架构设计、项目实战到最佳实践与展望,系统性地展示了如何利用AI技术优化税收策略并确保税务合规。文章旨在为企业和税务从业者提供实用的指导,推动AI在税务领域的创新与发展。在当前全球经济一体化的背景下,企业面临着越来越复杂的税务环境。首先,税收法规的复杂性日益增加。

AI天才研究院 1156

开源项目推荐:ne - 一个友好的文本编辑器

开源项目推荐:ne - 一个友好的文本编辑器 1. 项目基础介绍和主要编程语言 ne 是一个基于 POSIX 标准的免费文本编辑器,旨在几乎任何 UN*X 机器上运行。该项目由 C 语言编写,具有简洁、高效和易于配置的特点。ne 不仅适合初学者使用,还为高级用户提供了强大的配置选项,使其在资源使用上非常节省。 2. 项目的核心功能 ne 的核心功能包括: 多平台支持:ne 可以在多种 UNIX ...

gitblog_00732的博客 751

DeepSeek赋能公文写作指南(一)

DeepSeek 的出现,为公文写作领域带来了新的曙光。作为先进的人工智能技术,DeepSeek 以其强大的语言理解与生成能力,能为公文写作提供全方位的支持。它可以快速梳理思路,提供丰富的素材参考,辅助优化语言表达,甚至能根据不同的公文类型和场景,生成极具价值的内容框架。《DeepSeek 赋能公文写作指南》正是基于此背景应运而生。本书旨在帮助公文写作者深入了解并充分利用 DeepSeek 这一强大工具,将其融入到公文写作的各个流程中。

通俗易懂学IT 5484

5.文本处理工具

在Linux中我们经常编辑修改文本文件,即由ASCII, Unicode 或其它编码的纯文字的文件。之前介绍过nano,实际工作中我们会使用更为专业,功能强大的工具文本编辑种类:全屏编辑器:nano(字符工具), gedit(图形化工具),vi,vim行编辑器:sedviVisual editor,文本编辑器,是 Linux 必备工具之一,功能强大,学习曲线较陡峭,学习难度大。

DaiGanLin的博客 1158

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

Linux文本处理常见工具

Linux 提供了强大的文本处理工具,用于从命令行对文本文件进行操作。这些工具在处理日志文件、配置文件、脚本开发以及数据处理等任务中非常有用

flytalei的博客 1096

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

AWK文本处理工具

在Linux/Unix系统的日常运维、数据分析或文本处理场景中,我们经常需要面对这样的任务:从海量日志中提取关键信息(如统计访问量最高的IP)、清洗格式混乱的数据(如按特定分隔符拆分字段)、生成结构化报表(如汇总用户行为数据)。这些需求看似简单,但若用基础的grep(仅能过滤行)或sed(擅长行内编辑)直接处理,往往会陷入“能实现但效率低”“能提取但难格式化”的困境。此时,——这款诞生于1970年代、由三位计算机科学家命名的文本处理语言,便成为了高效解决复杂文本问题的利器。

m0_46460826的博客 999

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

08.常见文本处理工具

查看二进制文件的不同。

weixin_56408536的博客 938

linux之文本处理工具

在日常工作中,我们通常需要对文本内容进行一些列的处理,以下来总结以下,linux对文本处理的几个工具和用法。简介:cut的工作就是"剪",具体的说就是在文件中负责剪切数据用的。cut命令从文件的每一行剪切字节、字符和字段,并将这些字节,字符和字段输出。 (1)基本用法 cut [选项参数] filename 说明:默认分隔符是制表符 (2)选项参数说明(3)案例实操 切割ifconfig后,打印IP地址 简介:sed是一种流编辑器,它一次处理一行内容。处理时,把它处理的行存储在临时缓冲区中,称为”模式空间“

qq_44663072的博客 1534

文本处理工具和脚本

/awk可以自动的分割以空白符隔开的列,能提取出来某一列,支持标准输入,$1:第一列,$2:第二列,屏幕上输入了以空格作为分隔的a b c d,取出来第一列和第三列就是a c,空格个数不限制。//-u:显示的更详细,-表示第一个文件,-1,3表示1到3行,+表示第二个文件,1,4表示1到4行,加加减减从第一个文件变成第二个文件(从a怎么做变成b)//grep -q:能找到的和找不到的都不显示;//从b开头的行到s的行结束,中间用,分开,前面的两个斜线是开始的正则表达式,后面的两个斜线是结束的正则表达式。

weixin_56697280的博客 600
上一篇: shell中常用的基础命令
下一篇: shell脚本的基础知识
FYRXP
博客等级 码龄7年 6粉丝 57原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值