❶ sed命令对html替换操作时候怎样排除标签内的文字,而不是排除整行
sed -e 's/color/COLOR/g' -e "s/COLOR=/color=/g" test.txt
you select some text with no COLOR ,
and change the <font color=red>COLOR</font> to white.
❷ 如何在Unix下使用sed命令
sed命令是一个十分复杂的文字处理命令,其中有很多的参数和格式,但可以实现几乎所有的字符处理需求,常用的几个参数如下。
①sed '1,3d' f1:显示除第一行和第三行之外的行,“1,3”表示第一行和第三行,“d”表示删除。
②sed '/data/d' f1:不显示包含指定字符的行。“d”表示删除,“/data/”表示匹配“data”的行。
③sed 's/data/hello/' f1:查找文档中的指定字符,替换成新字符。“s”表示替换,将包含“data”的行中的第一个“data”替换成“hello”。
④sed 's/data/&123/g' f1:查找文档中的指定字符,在其后追加字符。“g”表示行内全局替换,“&”表示追加,在所有包含“data”的行中的“data”后面追加“123”字符串。
⑤sed -n '/data/p' f1:显示包含指定字符的行。“-n”表示只打印f1文件中被sed命令处理的行,“p”表示打印输出,将包含“data”的行打印出来。
sed常用的正则表达式匹配符号下表所示。
❸ 如何用sed 给字段加逗号
sed's/([^,]+)/"1"/g'文件名
示例如上图
❹ sed 怎样在文本里指定位置插入字符
1:指定行数和列数,比如3行3列插入abc,或2行6列插入AAA,如下所示:
其他混合定位也类似,基本思路是用s替换,首先将位置放到捕获里面(小括号里面),后面用1引用搜索到的内容,可以在1后面或前面,或前后增加新的内容,就实现了“插入”功能
❺ linux sed命令替换特定字符之后的字符
1、首先进入到Linux系统,分别创建两个目录vim1、vim2。
❻ SED的元字符集
^锚定行的开始如:/^sed/匹配所有以sed开头的行。
$锚定行的结束 如:/sed$/匹配所有以sed结尾的行。
.匹配一个非换行符的字符 如:/s.d/匹配s后接一个任意字符,然后是d。
*匹配零或多个字符 如:/*sed/匹配所有模板是一个或多个空格后紧跟sed的行。
[]匹配一个指定范围内的字符,如/[Ss]ed/匹配sed和Sed。
[^]匹配一个不在指定范围内的字符,如:/[^A-RT-Z]ed/匹配不包含A-R和T-Z的一个字母开头,紧跟ed的行。
(..)保存匹配的字符,如s/(love)able/1rs,loveable被替换成lovers。
&;保存搜索字符用来替换其他字符,如s/love/**&**/,love这成**love**。
<;锚定单词的开始,如:/<love/匹配包含以love开头的单词的行。
>;锚定单词的结束,如/love>/匹配包含以love结尾的单词的行。
x{m}重复字符x,m次,如:/0{5}/匹配包含5个o的行。
x{m,}重复字符x,至少m次,如:/o{5,}/匹配至少有5个o的行。
x{m,n}重复字符x,至少m次,不多于n次,如:/o{5,10}/匹配5--10个o的行。
❼ sed如何在文件的最后 插入一行文字
1、替换第一次搜索到的内容,命令如下:sed 's/要替换的内容/新的内容/' 要处理的文件如下图,将第一个小写的b替换成了大写的B。
❽ linux中如何用sed命令打印行号:内容
sed = 文件名 | sed 'N;s/\n/:/' | sed -n '/显示行包含的关键字/p',例子:
假设我有文件test,内容为:
Bai123
ppppqqqq
bAi567
a.此时我想把含有的行以 "行号:该行完整内容"的形式输出,则只需要执行:
sed = test | sed 'N;s/\n/:/' | sed -n '//Ip' //最后p前面的是大写的I
得到结果为:
1:Bai123
3:bAi567
*.忽略大小写,还有一个比较笨的方法,使用[],将关键字的所有字母的大小写都包括了,就来例来说,/[bB][aA][iI][dD][uU]/
b.输出所有的行,不使用关键字过滤行,则只需要去掉最后一部分,即:
sed = test | sed 'N;s/\n/:/'
得到结果为:
1: Bai123
2:ppppqqqq
3bAi567
完!
---------------------------------------------
grep解决这个问题比较好吧,假设有文件test,内容为:
Bai123
ppppqqqq
bAi567
如果我想得到格式如 line: line_content这种格式内容的话:
grep -ni "" test
结果为:
1:Bai123
3:bAi567
❾ sed命令的相关使用,求教高手~
sed可以通过-i选项指定要不要将修改写入原文件,或者如果修改原文件,要不要先备份!具体参数我是这样理解的:
如果没有该选项,sed将输出送入标准输出。该选项使sed将输出送入原来的输入文件中,一旦指定了后缀名suffix了以后,sed将备份原来的输入文件,该备份文件名以原文件名后接
suffix命令,如果想在原文件名和后缀suffix之间有一个句点,那么必须在后缀suffix中包含一个句点,-i选项后面直接加备份文件后缀,-i和后缀之间没有空格。如果文件名需要特殊符号,必须要用反斜杠转义例如sed –n –i\ .bak –e ‘command’ txtfile或者sed –n –I’ .bak’ –e ‘command’ txtfile这样得到的备份名为txtfile口.bak就可以有空格了(这里我用口代表空格)。
/ +++++++++++++++++++++++++++++++++++++++例子++++++++++++++++++++++++++++++
sed.txt的内容如下(“^$”代表空行):
This is the 1st line.
This is the 2nd line.
^$
This is the 3rd line.
sed命令(#后面的文字表示注释):
sed –n –i.bak -e '/^$/!{ #“/^$/!”是不要匹配空行,按回车键换行。
>#i这里是要在当前行前添加<LS>
>i \
><LS>
>#a这里是要在当前行后添加<LE>
>;a \
></LE>
>;p
>}' sed.txt 执行以后没有任何显示,是因为处理的结果输入写入到sed.txt,原来的内容已经备份到
sed.txt.bak中了,cat一下:
sed.txt的内容如下:
<LS>
This is the 1st line.
</LE>
<LS>
This is the 2nd line.
</LE>
<LS>
This is the 3rd line.
</LE>
Sed.txt.bak内容为(这里我用“^$”代表空行):
This is the 1st line.
This is the 2nd line.
^$
This is the 3rd line.
/+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
❿ sed命令替换指定字符串后面内容
sed -r 's/(ATTR\{address\}==")[^"]*/\1ABC/' A
结果得到:
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="ABC", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"