首页 > 系统相关 >Linux三剑客(grep/awk/sed)及正则表达式

Linux三剑客(grep/awk/sed)及正则表达式

时间:2023-05-22 22:48:20浏览次数:48  
标签:字符 匹配 正则表达式 sed awk grep 三剑客

Linux 给人的印象是黑乎乎的神秘窗口,文本操作和数据处理似乎没有 Windows 窗口界面直观方便。其实 Linux 有自己的独特的法宝,称之为三剑客:grep,awk 和 sed 。你可以用这三件法宝很方便的处理数据 : 查找,分段,修改。

正则表达式

要想对文本和数据进行操作,一定离不开正则表达式,本文首先对正则表达式进行介绍。

练习网站:https://tool.oschina.net/regex

什么是正则表达式

正则表达式,又称正规表示式、正规表示法、正规表达式、规则表达式、常规表示法(英语:Regular Expression,在代码中常简写为 regex、regexp 或 RE),计算机科学的一个概念。正则表达式使用单个字符串来描述、匹配一系列符合某个句法规则的字符串。在很多文本编辑器里,正则表达式通常被用来检索、替换那些符合某个模式的文本。

基本语法

一个正则表达式通常被称为一个模式(pattern),为用来描述或者匹配一系列符合某个句法规则的字符串。

字符 描述
^ 匹配字符串的开始位置
$ 匹配字符串的结束位置
* 匹配前面的子表达式零次或多次,等价于{0,}
+ 匹配前面的子表达式一次或多次,等价于{1,}
? 匹配前面的子表达式零次或一次,等价于{0,1}
{n} 匹配确定的 n 次
{n,} 至少匹配 n 次
{n,m} 最少匹配 n 次且最多匹配 m 次
. 匹配除\n外任何单个字符
[xyz] 匹配所包含的任意一个字符
[^xyz] 匹配未列出的任意字符
[a-z] 匹配指定范围内的任意字符
[^a-z] 匹配任何不在指定范围内的任意字符

以上是基本语法,真正使用的时候一般会与后续要介绍的grep/awk/sed结合使用。

标签:字符,匹配,正则表达式,sed,awk,grep,三剑客
From: https://www.cnblogs.com/werr370/p/17421972.html

相关文章

  • [ICDE 2023] Voting-based Opinion Maximization
    [ICDE2023]Voting-basedOpinionMaximizationApplication在总统大选时,会有许多候选者,这些候选者都希望能够被选上,他们可以通过寻找一组种子节点(即社交网络上的用户),靠他们的影响力(本文采用opinion,和influence不同),使得这个目标候选者在大选中可以获胜。除此之外。一般投票都会......
  • Linux 使用grep过滤字符串中的指定内容
    命令示例:echoport1234123|grep-oP'port\s+\K\d+'返回:1234这条命令使用grep工具来在文本中查找"Port"后面跟着一个或多个空格的数字,并使用-oP标志来仅显示匹配的数字而不是整个行。其中\K是一个正则表达式的零宽度断言,表示从此处开始匹配,但不包括前面的字符......
  • Weakly Supervised Temporal Action Localization via Representative Snippet Knowle
    0.前言相关资料:arxivgithub论文解读论文基本信息:领域:弱监督时序动作定位发表时间:CVPR2022(2022.3.14)1.针对的问题许多现有的方法试图生成伪标签来弥补分类和定位之间的差异,但通常只使用有限的上下文信息,即每个片段内的信息,来生成伪标签。2.主......
  • sed
    https://www.bilibili.com/video/BV1CS4y1C7ZY?p=61&vd_source=29cb78abf51970a872824d0975a7bff5Linux三剑客sed注意sed和awk使用单引号,双引号有特殊解释sed是StreamEditor(字符流编辑器)的缩写,简称流编辑器。sed是操作、过滤和转换文本内容的强大工具。常用功能包括结合正则......
  • MAY 2022-Composite Experience Replay-Based Deep Reinforcement Learning With Appl
    摘要:本文提出了一种基于深度强化学习(RL)的控制方法,以提高学习效率和效果来解决风电场控制问题。具体地,设计了一种新的复合体验重放(CER)策略,并将其嵌入到深度确定性策略梯度(DDPG)算法中。CER提供了一种新的采样方案,通过在奖励和时间差异(TD)误差之间进行权衡,可以深入挖掘存储变......
  • github报错“ssh_exchange_identification: Connection closed by remote host fatal:
    解决方式:不确定是否为密钥过期还是C:\Users\John\.ssh文件夹下的config文件中没有添加github的host。总之,所有的尝试如下:(1)重新生成公钥和私钥。打开gitbash,输入以下命令获取自己github的email。gitconfiguser.email 生成ssh私钥和公钥ssh-keygen-trsa-......
  • HTB ACADEMY-Stack-Based Buffer Overflows on Linux x86 WRITE UP
    WewereabletogainSSHaccesstoaLinuxmachinewhosepasswordwasreusedbyanothermachineduringourpenetrationtest.Onthismachine,wehaveastandarduser"htb-student"whocanleaveamessagetotheadministratorusingaself-written......
  • Putty连接虚拟机(在win11中安装的ubuntu20.04)提示: Network error: Connection refus
    #开启防火墙sudoufwenable#开启22号端口sudoufwallow22#重启防火墙sudoufwreload#查看状态sudoufwstatus#安装sshsudoaptinstallopenssh-server#尝试能否远程登录sshlocalhost......
  • linux grep 查找文件中关键字
    grep[选项]{关键字}文件名选项:-i:忽略大小写-n:输出关键字行号-v:取反,不输出包含关键字内容-r:递归查找,用于查找多个文件是否包含某个关键字-E:使用正则表达式查找file.txt文件中匹配关键字的-所有行grep"关键字1"file.txt查找file.txt文件中匹配多个关键字......
  • Row size too large. The maximum row size for the used table type, not counting B
    问题描述新建表或者修改表varchar字段长度的时候,出现这个错误Rowsizetoolarge.Themaximumrowsizefortheusedtabletype,notcountingBLOBs,is65535.Thisincludesstorageoverhead,checkthemanual.YouhavetochangesomecolumnstoTEXTorBLOBs......