- 论坛徽章:
- 0
|
1.Introduction
使用sed时要记住一个重要事实,无论命令是什么,sed
并不与初始化文件打交道,他操作的知识一个拷贝,然后
所有的改动如果没有重定向到一个文件,将输出屏幕。
2.sed怎么样读取数据
sed文件的一个文本行或从标准输入的几种格式中读取数据,
将之拷贝到一个编辑缓冲区,然后读命令行或脚本的第一个
命令,并使用这些命令查找模式或定位行号编辑它。重复
此过程直到命令结束。
2.调用sed的三种方式。
1.在命令行直接输入
2.在脚本中编写sed,然后调用
3.将sed插入脚本,并使用sed脚本执行
3.以下举例都以 quote.txt 为例
(
The honeysukle band played all night long for only $90.
It was an evening of splendid music and company.
Too bad the disco floor fell through ata 23:10.
The local nurse Miss P.Neave was in attendance.
)
1.打印 p
举例1:打印1到3行。
sed -n '1,3p' quote.txt
举例2: 打印匹配单词Neave
sed -n '/Neave/p' quote.txt
举例3:打印匹配单词the并在第4行
sed -n '4,/The/p' quote.txt
举例4:匹配任意字母,并以ing结尾,
sed -n '/.*ing/p' quote.txt
举例5:如果只打印行号及匹配行,必须使用两个
sed命令,并使用e选项。第一个命令打印模式
匹配行,第二个使用=选项打印行号,
格式为sed -n -e /pattern/p -e /pattern/=。
sed -n -e/'Neave/p' -e '/Neave/=' quote.txt
2.替换文本 s 格式 sed 's/old/new/[g/p/w/n]' 文件名
举例1:替换night为NIGHT
sed 's/night/NIGHT/' quote.txt
举例2:替换splendid为SPLENDID,并将替换行写入yanhai.txt
sed 's/splendid/SPLENDID/w yanhai.txt' quote.txt
举例3:[在new部分不写任何东西,保留空白,但仍需要用斜线括起来,
表示删除].
删除$符号($需要转义)
sed 's/\$//'
举例4:将替换的结果写入一个文件(yanhai.txt) 这里用到了/w
sed 's/splendid/SPLENDID/w yanhai.txt' quote.txt
注意:要将文件名括在sed的单引号里
举例5:替换修改字符串(这里个人的感觉更像是插入字符串)
格式:sed 's/old/new空格&' 文件名 [将new插在old前]
sed 's/old/&空格new' 文件名 [将new插在old后]
将"Hello"插入在nurse前
sed 's/nurse/"Hello" &' quote.txt
3.匹配后退出 p 格式 address q
举例1:查询首次出现模式,然后退出(需要将q放在sed'语句末尾)
sed '/.a.*/q' quote.txt |
评分
-
查看全部评分
|