- 浏览: 1482155 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (691)
- linux (207)
- shell (33)
- java (42)
- 其他 (22)
- javascript (33)
- cloud (16)
- python (33)
- c (48)
- sql (12)
- 工具 (6)
- 缓存 (16)
- ubuntu (7)
- perl (3)
- lua (2)
- 超级有用 (2)
- 服务器 (2)
- mac (22)
- nginx (34)
- php (2)
- 内核 (2)
- gdb (13)
- ICTCLAS (2)
- mac android (0)
- unix (1)
- android (1)
- vim (1)
- epoll (1)
- ios (21)
- mysql (3)
- systemtap (1)
- 算法 (2)
- 汇编 (2)
- arm (3)
- 我的数据结构 (8)
- websocket (12)
- hadoop (5)
- thrift (2)
- hbase (1)
- graphviz (1)
- redis (1)
- raspberry (2)
- qemu (31)
- opencv (4)
- socket (1)
- opengl (1)
- ibeacons (1)
- emacs (6)
- openstack (24)
- docker (1)
- webrtc (11)
- angularjs (2)
- neutron (23)
- jslinux (18)
- 网络 (13)
- tap (9)
- tensorflow (8)
- nlu (4)
- asm.js (5)
- sip (3)
- xl2tp (5)
- conda (1)
- emscripten (6)
- ffmpeg (10)
- srt (1)
- wasm (5)
- bert (3)
- kaldi (4)
- 知识图谱 (1)
最新评论
-
wahahachuang8:
我喜欢代码简洁易读,服务稳定的推送服务,前段时间研究了一下go ...
websocket的helloworld -
q114687576:
http://www.blue-zero.com/WebSoc ...
websocket的helloworld -
zhaoyanzimm:
感谢您的分享,给我提供了很大的帮助,在使用过程中发现了一个问题 ...
nginx的helloworld模块的helloworld -
haoningabc:
leebyte 写道太NB了,期待早日用上Killinux!么 ...
qemu+emacs+gdb调试内核 -
leebyte:
太NB了,期待早日用上Killinux!
qemu+emacs+gdb调试内核
转http://blog.chinaunix.net/space.php?uid=26183957&do=blog&id=3023196
使用 sed 进行编辑 本文讨论的最复杂和最强大的编辑工具是 sed(流编辑器)。它是一个文本编辑器,但是与诸如 ed 等文本编辑器不同,它编辑输入流并写到输出流。因此,它对于编辑命令输出或对于使用其他工具对文件进行预处理非常有用——然后您可以将该文本通过管道直接输出给 sed,以进行快速编辑。但是 sed 还可以操作文件,并且其脚本语言具有高级模式匹配功能,因此它是用于执行任何类型的快速文本编辑的理想选择——例如对一组文件进行快速搜索和替换。事实上,它是现有用于文本编辑的最流行命令行工具之一。 sed 接受包含任何数量命令的脚本,后面跟着可选的指定输入文件的选项;缺省情况下,它读取标准输入。某些版本的 sed 有一个 -i 选项,此选项指定应该编辑的输入文件。(如果没有此选项,则读取输入文件,而不对其执行写入。)如果您安装的版本支持此选项,则应该使用它——它允许您使用单个命令对任何指定的文件执行快速编辑操作。 sed -i script filespec 以下示例假设您的 sed 支持 -i 选项。否则,您必须使用 Shell 重定向将输出保存到新文件,并在另一个步骤将新文件重命名为旧文件,从而执行临时文件中转: sed script file > newfile; mv newfile file 对于多个文件,您必须执行循环: for i in *; { sed script $i > $i.new; mv $i.new $i; } 替换文件中的文本 您可以使用 s/searchstring/replacestring/ 构造将给定字符串替换为另一个字符串。若要替换某个文件中每行上的第一个 old 实例,可以使用以下命令: $ sed -i 's/old/new/' file 若要替换每个实例,可以对该搜索追加 g 选项。此项技术对于修复输入错误或替换一个或一组文件中的重复单词、短语或其他内容非常理想。 $ sed -i 's/Esclipse/Eclipse/g' *.xml 您可以在输入表达式中将字符包括在方括号中,但是,如果您在替换文本中使用方括号,则会将它们视为普通字符: $ cat file This is the beginning. This is the middle. This is the end. $ sed 's/[Tt]h/[Tt]h/g' file [Tt]his is [Tt]he beginning. [Tt]his is [Tt]he middle. [Tt]his is [Tt]he end. 当要搜索或替换的短语包括斜杠字符时,应使用它来定义新的分隔符: $ sed -i 's,/usr/local/websphere,/usr/websphere,' file 您还可以将包含某个模式的整个行替换为某些新文本: $ sed -i 's/.*pattern.*/LINE DELETED/' file 编辑匹配的模式 回想一下在模式中将字符分组在一起的方括号示例,以及如何在替换文本中将它们视为普通字符。如果您希望在替换文本中包括字面匹配的模式,该怎么办呢?可以使用“和”号 (&) 来实现。此方法对于通过在匹配模式之前或之后放置文本来编辑匹配模式是非常有用的: $ cat file This is the beginning. This is the middle. This is the end. $ sed 's/[Tt]h/>&</g' file >Th<is is >th<e beginning. >Th<is is >th<e middle. >Th<is is >th<e end. 在匹配模式之后插入文本 使用 a 命令在给定的匹配模式后面添加一行文本: $ sed -i '/pattern/a text' file 这并不替换与模式匹配的文本——它只是在第一个包含该模式的行后面添加文本。 在行开头插入文本 若要在每行开头插入文本,可以匹配脱字号元字符并提供要插入的文本。下面显示了如何向文件中的所有行添加电子邮件样式引用: $ sed 's/^/> /' input.txt > This line has trailing blanks. > This line does not. $ 在行尾插入文本 同样的原理也适用于在每行结尾插入文本——匹配美元符号元字符并提供要插入的文本。下面演示了如何模拟 AIX cat 的 -vet 选项来标记尾随空格: $ sed 's/$/$/' file This line has trailing blanks. $ This line does not.$ $ 删除文件中的行 d 命令删除给定的行。您可以在它前面附加行号、范围、要匹配或包括在斜杠中的模式。 若要删除文件中的第一行,可以使用以下命令: $ sed -i 1d file 若要删除第 1 至第 10 行,可以使用以下命令: $ sed -i 1,10d file 若要删除“BEGIN QUOTE”字符串的第一个实例到“END QUOTE”字符串的第一个实例之间的所有行,可以使用以下命令: $ sed -i '/BEGIN QUOTE/,/END QUOTE/d' file 若要删除当前目录中扩展名为 .xml 的所有文件中第一行包含“<record>”并且最后一行包含“"</record>"”的所有文本部分,可以使用以下命令: $ sed -i '/<record>/,/<\/record>/d' *.xml 若要删除从第一行直到第一个空白行的所有内容,可以使用以下命令: $ sed -i '/^> /d' file (当在电子邮件消息或 Usenet 文章中使用时,前述单命令行程序将除去所有标头。) 若要删除所有以电子邮件样式引用开头的行,可以使用以下命令: $ sed -i /^$/d file 若要删除文件的最后一行,可以使用以下命令: $ sed -i '$d' file 删除尾随空格 如果文件中的行包含需要清除的尾随空格字符,在文本编辑器中人工查找并删除它们会非常麻烦,但是使用 sed 完成此任务将成为一个快速的单行操作。您可以搜索行尾之前出现一次或多次的字面空格字符,并将其替换为空字符: $ cat -vet input.txt This line has trailing blanks. $ This line does not.$ $ sed -i 's/ *$//' input.txt $ cat -vet input.txt This line has trailing blanks.$ This line does not.$ $
发表评论
-
vim复制代码包含注释时格式会乱掉(转)
2013-07-16 10:47 3512乱码问题 一般来说只需要正确设置vim的编码识别序列就很少会遇 ... -
批量替换文件后缀名
2012-10-22 22:49 775for j in *.aga; do echo ` mv $j ... -
路由相关的的一些东西
2012-10-03 11:01 1066熟悉使用ifconfig 会非常方便。 if ... -
ubuntu脚本有区别rename和bash
2012-09-30 11:25 6321在ubuntu上写法有区别 使用 #!/bin/bash代替# ... -
一些常用的shell
2012-08-29 20:37 1099sudo !! 2009-01-26 10:26:48 Use ... -
itop
2012-06-26 23:06 1459Linux下中断来源可以从 /proc/interrupts ... -
telnet发邮件
2012-06-26 23:05 1751参考。http://forum.ubuntu.org.cn/v ... -
vim折叠和vim相关
2011-12-03 11:16 1225http://blog.csdn.net/namecyf/ar ... -
vim常用参数
2011-11-21 09:46 874cat - aa.txt >bb.txt cat -v ... -
awk的helloworld
2011-11-18 17:08 946两次过滤 awk -F '"' '{print $2 ... -
Print without executing the last command that starts with
2011-11-10 14:24 1003Print without executing the las ... -
shell的function
2011-10-24 10:22 1136#!/bin/sh #/bin/sh hello(){ ... -
(转)查看网卡流量shell脚本工具
2011-10-19 10:10 945http://www.mysqlops.com/2011/10 ... -
看错误号的定义
2011-09-22 09:14 955perl -MPOSIX -e 'print strerror ... -
diff和patch
2011-09-08 23:31 1020网上找的,摘抄 diff和patch是一对工具,在数学上来说, ... -
mkfifo 和nc
2011-08-25 00:00 1689服务器端 nc -l 1234 客户端 nc 10.10.10 ... -
linux date时间戳互相转换
2011-08-17 15:15 400611.查看指定时间的时间戳 查看当前时间 #date + ... -
linux修改主机名
2011-07-21 09:32 1085转http://hi.baidu.com/sunshibing ... -
转unix文本格式转换
2011-07-20 09:33 2089转http://wly719.iteye.com/blog/5 ... -
sed&& awk
2011-07-18 21:02 1084http://www.reddragonfly.org/abs ...
相关推荐
本篇文章将重点介绍`sed`的一些常用用法,以帮助读者更好地理解和应用这个工具。 1. **基本语法** `sed`的基本命令格式是: ``` sed [选项] '命令' 文件 ``` 其中,`选项`通常用于设置工作模式,`命令`是你要...
### sed 常用用例详解 #### 一、显示通篇文档,除了两个正则表达式之间的内容 **命令**: `sed '/Iowa/,/Montana/d'` **解释**: 此命令会删除从匹配到 “Iowa” 开始到匹配到 “Montana” 结束之间的所有内容。...
**Sed常用选项** - `-n`:抑制默认的输出,只有匹配到模式空间的行才会被打印。 - `-e`:添加多个编辑命令。 - `-i`:在原文件上进行编辑,不保留备份。 - `-f`:从文件中读取编辑指令。 **Sed/awk的特点** - **...
### sed 常用命令与应用 #### 1. 删除空行 ``` sed '/^$/d filename' ``` 这条命令会删除`filename`文件中的所有空行。 #### 2. 删除纯空白行 ``` sed '/^[[:space:]]*$/d filename' ``` 此命令用于删除文件`...
sed常用命令 | 命令 | 描述 | | --- | --- | | `a\文本` | 在当前行后面添加一行文本。 | | `b 标签` | 分支到脚本中带有指定标签的位置。 | | `c\新文本` | 替换当前行的文本。 | | `d` | 删除当前行。 | | `D` |...
#### 三、SED常用命令解析 1. **-e 脚本**:指定一个或多个SED脚本执行。 - 示例:`sed -e 's/123/1234/' a.txt` - 解析:将文件a.txt中所有出现的“123”替换为“1234”。 2. **-f 文件**:从文件中读取SED脚本...
**1.4 sed常用选项** - `-n`: 关闭自动输出功能,仅在命令中显式指定输出时才输出内容。 - `-r`: 使用扩展正则表达式(Extended Regular Expressions)进行模式匹配。 **1.5 sed编辑命令** - **地址**: 用于指定要...
sed的常用命令大全集合,适用于小白的快速入手。
LINUX 的 awk 和 sed 的常用用法 awk 是一种功能强大的文本处理工具,它可以在文件或字符串中基于指定规则浏览和抽取信息。awk 语言的最基本功能是在文件或字符串中基于指定规则浏览和抽取信息。 调用 awk 有三种...
以上是SED单行脚本的常用技巧,能够帮助用户快速处理文本数据,进行各种文本格式的转换,以及增加文本的可读性。SED命令的强大之处在于其灵活性和强大的文本处理能力,使得编辑操作简单高效。在Unix和类Unix系统中,...
一般 sed 最常用在编辑那些需要不断重覆某些编辑动作的文件上 , 例如将文件中的某个字串替换成另一个字 串等等。这些相较於一般 UNIX 编辑器(交谈式的, 如 vi、emacs)用手动的方式修改文件 , sed 用起来较省力。
3. **命令替换(Command Substitution)**:`s/pattern/replacement/flags`是`sed`最常用的命令,用于替换匹配到的模式。`flags`是可选的,如`g`全局替换,`i`忽略大小写,`p`打印替换后的行。 4. **缓冲区(Buffer...
- **内置字符发生器**:预置了常用的字符库,简化了字符显示的编程工作。 - **灵活的时序控制**:支持不同系列MPU的操作时序,提高了系统的兼容性和扩展性。 #### 四、SED1330的应用场景 鉴于SED1330的出色性能和...
而SED1520是一款常用的LCD控制器,常用于驱动字符或点阵液晶显示模块。本文将围绕"sed1520_51单片机_SED1520_badlyzgv_源码"这个主题,深入解析SED1520与51单片机的交互以及badlyzgv开发的相关代码。 一、SED1520 ...
而sed还具有一些高级命令,通常不太常用,但在处理复杂文本任务时非常有用。 GNU sed支持基本的正则表达式(BRE)和扩展的正则表达式(ERE),还提供了字符类和括号表达式等,允许用户匹配特定的文本模式。例如,...
SED1520是飞利浦公司推出的一款常用的LCD控制器,常用于驱动128x64点阵的液晶屏,如12232 LCD模块。本文将深入探讨如何用C语言编写针对SED1520的驱动程序,并结合Keil开发环境进行程序设计,以便在实际项目中灵活...
**sed命令详解** **1. sed命令的基本概念** sed(stream editor)是一个强大的文本处理工具,主要用于对文本文件进行非交互式的编辑操作。它的工作方式是逐行读取输入文件,将当前处理的行存储在临时缓冲区(模式...
在学习sed和awk时,了解它们的基本语法和常用命令是首要的。sed的操作主要包括插入、删除、替换、打印等,而awk则需要理解其工作模式(BEGIN、END、模式规则)、字段分隔符、内置变量和函数等概念。通过实际的案例...
### 常用`sed`命令 1. **替换(s)**:`s/old/new/g` 将所有出现的 "old" 替换为 "new",`g` 表示全局替换。 2. **删除(d)**:`d` 删除匹配到的行。 3. **插入(i)**:`i\text` 在匹配行之前插入文本。 4. **...