Linux文本处理命令“sed”简解

文本处理编辑命令sed

命令格式:

sed [选项] ‘(截取的行)[动作]‘ 文件名

选项:-n:只把经过sed处理的行输出

-e:允许输入多条动作

-i:sed修改的结果写入文件

截取行:(1)直接输入行号

(2)/正则表达式/

(3)x,y 从x到y行,也可以用正则取代

(4)x,y! 取反

(5)x~y 从x行开始,步进y行

(6)$ 文档末

动作:p  打印   eg: sed -n ‘(行)p‘ student.txt

a  行后增加新的一行,i  行前增加新的一行

sed  ‘1,5a  =============‘  student.txt

sed  ‘/正则/a ============‘ student.txt

d  删除某行

sed  ‘/正则/d‘  student.txt

sed  ‘4d‘  student.txt

c  替换指定行

sed ‘2c canglaoshi bujigee‘ student.txt

sed ‘/正则/c lalalalalalala‘ student.txt

s  替换指定字符串(替换每行第一个);结尾g表示每一行所有

sed  ‘/正则(定位行)/s/正则(旧)/abcd(新)/‘ student.txt

sed  ‘s/正则(旧)/abcd(新)/‘ student.txt (全文替换)

sed  ‘/www/s/33/000/g‘ zz_test.txt

操作:{}多个命令组合,用;分开

sed  ‘{1,20p;s/www/s/33/000//g}‘

&  取原字符

sed  ‘s/abc/&def‘ student.txt (把abc换成abcdef)

u  字符串首字母改成大写

sed  ‘s/abc/\u&/‘ student.txt (把abc改成Abc)

l  字符串首字母改成小写

U 字符串所有字母改成大写

sed  ‘s/abc/\U&/‘ student.txt (把abc改成ABC)

L  字符串所有字母改成小写

r 将某文件插入到另一文件的指定行中

sed  ‘1r abc.txt‘  123.txt (将abc.txt中的内容插入到123.txt文件的第1行)

q  退出sed

sed  ‘/false/q‘  student.txt (找到一个false就退出sed)

时间: 2024-08-02 21:41:56

Linux文本处理命令“sed”简解的相关文章

Linux文本处理命令

正则表达式 POSIX标准将正则表达式分为两类 1.基本的正则表达式 2.扩展的正则表达式 大部分Linux应用和工具仅支持基本的正则表达式 基本正则表达式 符号 意义 * 0个或多个字符 . 匹配任意字符 ^ 行首,在[]中表示非 $ 行尾 [] 匹配字符集合 \ 转义字符 \<\> 精确匹配符号 \{n\} 匹配n次 \{n,\} 匹配至少n次 \{m,n\} 匹配m~n次 扩展正则表达式 符号 意义 ? 匹配0个或1个 + 匹配1个或多个 () 表示一个字符集合或用在expr中 | 表示

Linux文本处理之sed

Linux文本处理之sed 上一篇我介绍了文本处理grep,现在我来介绍一下文本处理三剑客的第二剑客--sed. sed 是一个比较古老的,功能十分强大的用于文本处理的流编辑器,加上正则表达式的支持,可以进行大量的复杂的文本编辑操作.sed 本身是一个非常复杂的工具,有专门的书籍讲解 sed 的具体用法,但是个人觉得没有必要去学习它的每个细节,那样没有特别大的实际意义.sed是一种流编辑器,处理时,把当前处理的行存储在临时缓冲区中,称为『模式空间』(pattern space),接着用sed命令

编程小技巧之 Linux 文本处理命令

合格的程序员都善于使用工具,正所谓君子性非异也,善假于物也.合理的利用 Linux 的命令行工具,可以提高我们的工作效率. 本文简单的介绍三个能使用 Linux 文本处理命令的场景,给大家开阔一下思路.希望大家阅读完这篇文章之后,要多加实践,将这些技巧内化到自己的日常工作习惯中,真正的提高效率.内化很重要,就像开玩笑所说的一样,即使我知道高内聚,低耦合的要求,了解 23 种设计模式和 6 大原则,熟读代码整洁之道,却仍然写不出优秀的代码.知道和内化到行为中区别还是很大的. 能不能让正确的原则指导

linux下的文本处理命令sed&amp;awk&amp;grep

Sedsed 是个精简的.非交互式的编辑器.他能执行和编辑vi和emacs相同的编辑任务.sed编辑器不提供交互使用方式:只能在命令行输入编辑命令.指定文件名,然后在屏幕上察看输出.sed编辑器没有破坏性.他不会修改文件,除非用shell重定向来保存输出结果.缺省情况下,所以的输出都被打印到屏幕上.sed 编辑器在shell脚本中非常有用,因为在shell脚本中使用像vi或emacs这类交互式编辑器,需求脚本用户精通该编辑器,而且还会导致用户对打开 的 文件做出不必的修改.如果需要执行多项编辑任

Linux系统常用命令nl详解

nl命令在linux系统中用来计算文件中行号.nl 可以将输出的文件内容自动的加上行号!其默认的结果与 cat -n 有点不太一样,nl 可以将行号做比较多的显示设计,包括位数与是否自动补齐 0 等等的功能.本文和大家分享的主要是linux中nl命令的相关用法,希望对大家学习linux有所帮助. 1.命令格式: nl [选项]- [文件]- 2.命令参数: -b :指定行号指定的方式,主要有两种: -b a :表示不论是否为空行,也同样列出行号(类似 cat -n): -b t :如果有空行,空

【转】linux 中dd命令使用详解

原文网址:http://xiaozhuang.blog.51cto.com/4396589/850657 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://xiaozhuang.blog.51cto.com/4396589/850657 使用权限: 所有使用者dd 这个指令在 manual 里的定义是 convert and copy a file 使用方式: dd [option] 如果你想要在线看 manual, 可以试试:

Linux文本处理工具——Sed

sed:数据流编辑器: awk:报告文本的生成器 sed 基本用法:(Stream EDitor) Stream 流 EDitor 编辑器 行编辑器 全屏编辑器:vi/vimsed:内存空间(模式空间)默认不编辑源文件,仅对模式空间中的数据作处理,处理结束后,将模式空间打印到屏幕 sed [options] 'AddressCommannd' file ... -n: 静默模式,不再默认显示模式空间中的内容 -i: 直接修改源文件 -e SCRIPT -e SCRIPT:可以同时执行多个脚本 -

Linux 文本查看命令之sed

Stream Editor 流编辑器 做行处理的 默认不直接编辑原文件,在内存中进行处理(但是会整篇处理),临时存放的空间叫做pattern space(模式空间).如果可以被关键字匹配,然后就进行编辑(编辑完成后,可以将新的内容放入hold space,保持空间),如果没有被关键字匹配就默认输出到标准输出. -n选项不输出模式空间中的内容至屏幕,默认情况下,不论模式空间的内容是否匹配关键字都会输出至屏幕. -e script 默认只能一次处理一个脚本,-e 之后可以跟多个脚本,一个-e对应一个

Linux文本处理命令笔记汇总

目录管理: ls.cd.pwd.mkdir.rmdir/tree 文件管理 touch.stat.file.rm.mv.nano 日期时间: date.clock.hwclock.ca 查看文本: cat.tac.more.less.less.head.tail cat: 连接并显示 -n -E 分屏显示: more: 向前翻 less: head: 查看前n行 tail: 查看后n行 n默认是10行 tail -f : 查看文件尾部,不退出,等待显示后续追加至此文件的新内容: 文本处理: cu