作家
登录

一篇文章学会shell工具篇之sed

作者: 来源: 2017-06-27 15:49:58 阅读 我要评论

例4:将一嵝内容变为一行

例5:求出1-100的乞降

.:匹配除换行符以外的单个字符 /m..y/ 匹配包含字母m,后跟两个随便率性字符,再跟字母y的行;

x\{m,n\}:至少m个,但不跨越n个x 如:/9\{5,7\}/ 匹配包含持续5到7个9的行。 还有一个单位匹配--调换的问题:

例6:打印输出奇数行和偶数行

例2:用sed模仿倒序(tac)打印的过程

【编辑推荐】

  1. Linux桌面体系的优势
  2. 9个拭魅战及面试常用Shell脚本编写
  3. 黑屏操作利器,多屏批量shell敕令发送
  4. Stack Clash安然马脚将Linux及其他UNIX操作体系的root拜访权拱手交给任何人!
  5. ps_mem:一个用于精确申报Linux核心内存用量的简单Python脚本
【义务编辑:枯木 TEL:(010)68476606】

5.应用标签

[plain] view plain copy

:a表示标签a;

ba表示跳转到a标签;

$表示最后一行;

!表示不做后续操作

所以,$!ba表示最后一行不消跳转到a标签,停止此次操作。

最后弥补一点:

[plain] view plain copy

与grep一样,sed也支撑特别元字符来进行模式查找、调换。不合的是,sed应用的┞俘则表达式是括在斜杠线"/"之间的模式。

如不雅要把正则表达式分隔符"/"改为另一个字符,比如o,只要在这个字符前加一个反斜线,在字符后跟上正则表达式,再跟上这个字符即可。例如:sed -n '\o^56op' datafile

^:行首定位符 /^my/ 匹配所有以my开首的行;

$:行尾定位符 /my$/ 匹配所有以my结尾的行;

*:匹配零个或多个前导字符 /test*/ 匹配包含字符串 tes,后跟零个或多个 t 字母的行;

[]:匹配指定字符组内的任一字符 /t[eE]st/ 匹配包含test 或 tEst 的行;

[^]:匹配不在指定字符组内的任一字符 /t[^eE]st/ 匹配string 以t开首,但st之前的那个字符不是e或E的行;

&:保存查找串以便在调换串中引用 s/test/*&*/g 符号&代表查找串。test将被调换为*test*

\<:词⾸首定位符 /\<my/ 匹配包含以my开首的单词典行;

\>:词尾定位符 /my\>/ 匹配包含以my结尾的单词典行;

x\{m\}:持续m个x 如:/9\{5\}/ 匹配包含持续5个9的行;

x\{m,\}:至少m个x 如:/9\{5,\}/ 匹配包含至少持续5个9的行;

下面举一个例子:



  推荐阅读

  城市数据体系

城市数据体系是指按照必定的标准对城市数据进行处理,以实现数据在城市行业部分间互联互通互操作、实现规范化的城市数据运行的数据治理机制。 新型聪明城市数据体系建立了与新型聪明城>>>详细阅读


本文标题:一篇文章学会shell工具篇之sed

地址:http://www.17bianji.com/lsqh/35934.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)