`
icepp
  • 浏览: 10395 次
  • 性别: Icon_minigender_1
  • 来自: 大连
最近访客 更多访客>>
社区版块
存档分类
最新评论

常用的sed单行命令

阅读更多

节选自sed1line

 

 

# 在匹配式样“regex”的行之前和之后各插入一空行
 sed '/regex/{x;p;x;G;}'
#删除所有偶数行
 sed 'n;d'
# 为文件中的每一行进行编号(简单的左对齐方式)。这里使用了“制表符”
# (tab,见本文末尾关于'\t'的用法的描述)而不是空格来对齐边缘。
 sed = filename | sed 'N;s/\n/\t/'
# 将每一行前导的“空白字符”(空格,制表符)删除
# 使之左对齐
 sed 's/^[ \t]*//'    
            
 # 将每一行拖尾的“空白字符”(空格,制表符)删除
 sed 's/[ \t]*$//'     
           
 # 将每一行中的前导和拖尾的空白字符删除
 sed 's/^[ \t]*//;s/[ \t]*$//'
# 在每一行中查找字串“foo”,并将找到的“foo”替换为“bar”
 sed 's/foo/bar/'                 # 只替换每一行中的第一个“foo”字串
 sed 's/foo/bar/4'                # 只替换每一行中的第四个“foo”字串
 sed 's/foo/bar/g'                # 将每一行中的所有“foo”都换成“bar”
 sed 's/\(.*\)foo\(.*foo\)/\1bar\2/' # 替换倒数第二个“foo”
 sed 's/\(.*\)foo/\1bar/'            # 替换最后一个“foo”
# 将“foo”替换成“bar”,并且只在行中未出现字串“baz”的情况下替换
 sed '/baz/!s/foo/bar/g'
# 显示部分文本——指定行号范围(从第8至第12行,含8和12行)
 sed -n '8,12p'                   # 方法1
 sed '8,12!d'                     # 方法2
# 显示第52行
 sed -n '52p'                     # 方法1
 sed '52!d'                       # 方法2
 sed '52q;d'                      # 方法3, 处理大文件时更有效率
# 显示两个正则表达式之间的文本(包含)
 sed -n '/Iowa/,/Montana/p'       # 区分大小写方式
# 删除文件顶部的所有空行
 sed '/./,$!d
# 移除手册页(man page)中的nroff标记。
  sed 's/.^H//g'             # 在bash或tcsh中, 按 Ctrl-V 再按 Ctrl-H
# 显示包含“AAA”、“BBB”或“CCC”的行(任意次序)
 sed '/AAA/!d; /BBB/!d; /CCC/!d'  # 字串的次序不影响结果 

  

# Unix环境:转换DOS的新行符(CR/LF)为Unix格式。
sed 's/^M$//'                    # 在bash/tcsh中,将按Ctrl-M改为按Ctrl-V

 

 

 小技巧:


速度优化:当由于某种原因(比如输入文件较大、处理器或硬盘较慢等)需要提高
命令执行速度时,可以考虑在替换命令(“s/.../.../”)前面加上地址表达式来
提高速度。举例来说:

   sed 's/foo/bar/g' filename         # 标准替换命令
   sed '/foo/ s/foo/bar/g' filename   # 速度更快
   sed '/foo/ s//bar/g' filename      # 简写形式

当只需要显示文件的前面的部分或需要删除后面的内容时,可以在脚本中使用“q”
命令(退出命令)。在处理大的文件时,这会节省大量时间。因此:

   sed -n '45,50p' filename           # 显示第45到50行
   sed -n '51q;45,50p' filename       # 一样,但快得多

 

分享到:
评论

相关推荐

    《SED 单行脚本快速参考》

    sed 和 awk 都是 Linux 下常用的流编辑器,他们各有各的特色,本文并不是要做什么对比,而是权当好玩,把《SED 单行脚本快速参考》这文章,用 awk 做了一遍~ 至于孰好孰坏,那真是很难评论了。一般来说,sed 的命令...

    SED单行脚本快参考

    sed 常用单行命令!

    sed和awk单行命令比较

    sed和awk单行命令比较,通过例题来比较,详细说明了sed和awk的区别

    SED单行脚本快速参考中文版(Unix 流编辑器)

    英文标题:USEFUL ONE-LINE SCRIPTS FOR SED (Unix stream editor) 原标题:HANDY ONE-LINERS FOR SED (Unix stream editor) 整理:Eric Pement – 电邮:pemente[at]northpark[dot]edu 版本5.5 译者:Joe Hong – ...

    Sed 快速参考中文 pdf

    Sed 单行脚本命令 快速参考 pdf 中文

    linux下SED脚本参考

    SED单行脚本快速参考(Unix 流编辑器) sed命令使用说明

    SED单行脚本快速参考(流编辑器)第1/2页

    sed是一个非交互式的流编辑器。所谓非交互式,是指使用sed只能在命令行下输入编辑命令来编辑文本,然后在屏幕上查看输出

    sedsed:sed脚本的调试器和代码格式化程序

    sed脚本的代码格式Sedsed可以将模糊的单行代码转换为可读的缩进代码: $ sedsed --indent ' :a;s/<[^>]*>//g;/</{N;ba;} ':as/<[^>]*>//g/</ { N b a} 将您的脚本转换为HTML,以获取代码格式,美观的...

    Linux tr命令的使用方法

    它可以将一组字符变成另一组字符,经常用来编写优美的单行命令,作用很强大。 tr的英文全称是“ transform ”,即转换的意思。tr他只能从标准输入中读取数据,因此,tr要么将输入文件重定向到标准输入,要么从管道...

    flatcat:将嵌套文件格式(如JSON,TOML,YAML)展平为单行,并包含所有值的完整路径

    flatcat的主要目的是允许使用标准UNIX文件命令(例如grep , awk和sed来解析嵌套和分层文件格式(例如JSON,TOML,YAML等)。这些文件已成为事实上的配置标准,但是很少支持处理这些文件。 在这里, flatcat通过将...

    Unix/Linux之命令备忘录

     sed:用来把文档或字符串里面的文字经过一系列编辑命令  // 从/script/ip读取单行数据后打印出来  sed -n '1p' /script/ip  iptables:是与新的 3.5 版本 Linux 内核集成的 IP信息包过滤系统  iptables -t...

    史上最全的 Linux Shell 文本处理工具集锦.doc

    本文将介绍Linux下使用Shell处理文本时最常用的工具:find、grep、xargs、sort、uniq、tr、cut、paste、wc、sed、awk;提供的例子和参数都是最常用和最为...对shell脚本使用的原则是命令单行书写,尽量不要超过2行;

    Linux中查看文本的小技巧(超实用!)

    日常开发中,我们经常需要在服务器上进行各种文本,日志的查看操作,本文主要对常用的文本,日志查看技巧进行了一番总结和归纳,方便大家收藏起来后续查看使用: tail命令查看日志信息 实时监控日志: tail -f ...

    template-python:Python项目的模板存储库

    可以使用单行终端命令替换template-python repo名称: git grep -l 'template-python' | xargs sed -i '' 's/template-python/repo-name/g' (用您生成的存储库名称替换repo-name )。可能还需要对pyproject.toml...

    pjs:类似于awk的命令行工具,用于处理文本,CSV,JSON,HTML和XML

    您提供了用香草JavaScript编写的功能强大的单行代码片段。 它支持许多输入格式,包括纯文本,CSV,JSON,HTML和XML。 pjs的工作原理是从提供的脚本中生成一个完整的JS程序,并将其输入到标准输入的每一行中。 可以...

    Shell脚本专家指南

    第24章 单行文本处理 24.1 显示特殊域 24.2 指定域分隔符 24.3 简单的模式匹配 24.4 几个值的匹配域 24.5 确定域的数目 24.6 确定最后一个域 24.7 确定倒数第二个域 24.8 给awk传送变量 24.9 在一定条件下使用给awk...

Global site tag (gtag.js) - Google Analytics