跳至正文

sed命令格式(sed命令格式路径)

如何用sed命令,截取变量中的某个字符串

如何用sed命令,截取变量中的某个字符串

sed命令行格式为:

sed [-nefri] ‘command’ 输入文本

常用选项:

-n∶使用安静(silent)模式。sed默认的处理结果是输出到STDOUT。但如果加上 -n 参数后,则只有经过sed 特殊处理的那一行(或者动作)才会被列出来。

-e∶直接在指令列模式上进行 sed 的动作编辑(可以同时执行多条操作命令);

-f∶直接将 sed 的动作写在一个文件内, -f filename 则可以执行 filename 内的sed 动作;

-r∶sed 的动作命令是扩展型正则表达式。(预设是基础正则表达式)

-i∶直接修改读取的档案内容,而不是由STDOUT输出。

常用命令:

a ∶新增, a 的后面可以接字串,而这些字串会在新的一行出现(目前的下一行)

c ∶取代, c 的后面可以接字串,这些字串可以取代 n1,n2 之间的行!

d ∶删除,删除行;

i ∶插入, i 的后面可以接字串,而这些字串会在新的一行出现(目前的上一行);

p ∶列印,亦即将某个选择的资料印出。可用于查找功能,sed -n ‘/查找字符串/p’可实现对字符串的查找,类似于grep。通常 p 会与参数 sed -n 一起运作

s ∶取代,直接进行取代的工作,通常这个 s 的动作可以搭配正则表达式

Linux sed命令与正则表达式

Linux sed命令与正则表达式

1. "${name_for_deal[@]}" 去掉双引号.因为 for A in B 结构中,B是一个以空格分隔的数据集合.而加了双引号就被当做一个整体字符串了.2. sed的单引号会屏蔽$的取值功能,shell变量${name}要得到解析必须拿到单引号外面来.即,在${name}前闭合单引号,之后再重新开始.sed -i ‘/^[ \t\*]*Author[ \t]*:[ \t]*’${name}’/d’ $file

sed命令 sed – e s/\(.*// 什么意思

sed命令 sed - e s/\(.*// 什么意思

. 匹配一个非换行符的字符 如:/s.d/匹配s后接一个任意字符,然后是d. * 匹配零或多个字符 如:/*sed/匹配所有模板是一个或多个空格后紧跟sed的行. ”.*”会在第一个匹配后在匹配0个或多个字符. 这是对.*的定义,你可以把.*看做是任意多个字符.

linux命令 sed 请问有哪位大大知道这个sed 命令是什么意思吗? sed ‘s/\//\\\//g’

截取或修改字符串,打印到屏幕上。

使用方法:sed 参数 ‘动作’ 动作对象

如果用-i参数将修改文档的内容,你的sed ‘s/\//\\\//g’这个我举一个类似的再分析你的。

sed ‘s/old/new/g’ ***

这个就是把***文档里面的old这个词换成new这个词。

你的sed ‘s/\//\\\//g’里面既是把,/换成\\/。s/\//是一部分/\\\//g又是一部分,s后面的//之间就是要替换的词语和上面的old类似,由于/有特殊定义,所以用\转意成普通符号/,/\\\//g从第一符号到g前面的/之间就为替换old的new,为\\/前面两个\就是\没有特殊意义所以为\\,后面g前面的第二个/由于有特殊意义所以用\来转意,所以new为\\/。在s/old/new/g里面的/为固定格式所需要的,所以想打印出/来的话,要用\来转意,linux特殊字符转意都用\。

详细的参数信息用man page,这个是比不可少的,因为一个人不可能把那些东西全部记得,如果你硬要记还不如记唐诗三百首呢。只要知道这个命令或是这个工具的工作原理,使用方法自然就明了,要用到的时候查一下即可,没有必要和自己过不去。

linux中sed命令如何运用‘\ ’ 反斜杠?

路径”../syslog/tmp/”替换为”/data/syslog/tmp”

首先要搞清楚,转义符\的作用是消除有特殊含义字符的特殊意义,使其还原为普通字符。

sed -i ‘s/\.\.\/syslog\/tmp\//\/data\/syslog\/tmp/’ file.ini

点号.在正则表达式中有其特殊含义(表示任意一个字符),所以要表示点号本身,需要使用转义符。

sed替换命令的格式一般为 s/…/…/ ,所以如果里面的内容也包含 / ,比如你这里的路径,为了区分,也需要转义。

最后说明一下,这样看起来很混乱,比较容易搞错。

其实sed的替换命令格式不一定要是 s/…/…/,下面这样也都可以:

s#…#…#

s_…_…_

即命令s后可以跟任意字符,只要跟替换内容不重复即可。这样,路径里的/就不再需要转义了。

shell脚本中的sed s/ /\ /g’这个命令是啥意思

sed的替换命令格式:s/A/B/g 或者 s#A#B#g 或者 s_A_B_g#只是分隔符而已,为满足格式需要.将所有制表符\t替换为|g表示全局替换,有多少次替换多少次.

sed正则表达式

-e ‘s/:\+\s\+/:/’ -e ‘s/ /_/g’

把每一行 第一次出现的 “连续 n 个 : 及 后面的m个空格” 替换成 : , 再把这一行中剩余的类似匹配内容替换成 _ , 其中 n >= 1, m>=1

比如

如果某行的内容是

sss:: ppp: MMM

则替换后变成

sss:ppp_MMM

然后

-e ‘/^$/d’

删除空行

然后

-e ‘s/[(%)]//g’

把每行出现的 ( 或者 % 或者 ) 字符全部删除,

比如

abc()% 被替换成 abc

然后

-e ‘/^1/d’

将 以字符 1 开头的行删除

最后

-e ‘s/[(*)]//’

把每行第一次出现的 ( 或者 * 或者 ) 字符删除。

注意,上面的每一个 -e 命令处理的对象都是前一条 -e 命令处理完后的结果。

所以假定有一个文件内容为

abc #unchanged line

sss:: ppp: (M%MM)zzz :::: end # change to sss:ppp_MMMzzz _end

1me #this line will be deleted

2123(* #change to 2123

end of file #unchanged

经过上面的命令后,变成

abc #unchanged line

sss:ppp_M%MMzzz _end # change to sss:ppp_MMMzzz _end

2123 #change to 2123

end of file #unchanged

linux 的sed命令解释 sed ‘:t;N;s/\n/,/;b t’ 将换行符换成逗号

:t 定义label "t" b t 转到label "t" 继续执行 N 先读入一行到sed的模板空间,加个换行符(\n),再向sed模板空间追加下一行(之后sed 对模板空间中的内容执行s/\n/,/替换,并显示替换后的内容)

sed命令替换指定字符串后面内容

sed -r ‘s/(ATTR\{address\}==")[^"]*/\1ABC/’ A 结果得到: SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="ABC", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

sed – i ‘s/inn/out/g’ test.txt cshell语法格式请解

sed是Linux下的命令,上面的句子可以写在shell程序里头执行,test.txt为当前路径下的文件test.txt,若为其他路径写成 ../aaa/bbb/test.txt 即可 或者直接在vi编辑器里使用:s/inn/out/g 也可