ChinaUnix.net
相关文章推荐:

shell sed 提取多行之间

本帖最后由 Fock3r 于 2014-09-03 17:19 编辑 seq 10 >1.txt 现在我想要合并1.txt的第2-8为1,我写的命令如下: sed -n '2,8p' 1.txt | sed ':a;N;s/\n/ /;ta' 结果如下: 2 3 4 5 6 7 8 但是我想直接对文件进修改,应该怎么办? sed -i '2,8;:a;N;s/\n/ /;ta' 1.txt 哪里错了? 输出结果: sed: -e expression#1,char 4: unknown command: ';' 2,8后面的分号去掉也不。 求教大神~~~~~~~ --------------------...

by Fock3r - Shell - 2014-09-03 16:52:38 阅读(3507) 回复(13)

相关讨论

想匹配at和lp两,然后修改,at和lp是或者的关系,类似于egrep "at|lp" 用如下脚本是at和lp之间都匹配,请问如果只匹配at或者lp如何写,谢谢! sed -i '/at/,/lp/ s:/sbin/nologin:/bin/bash:g' /etc/passwd

by muzigui_cu - Shell - 2013-07-24 15:49:18 阅读(1146) 回复(3)

现在知道需要替换具体第几的内容,但是是,怎么写?? 例如像同时替换第1,3,7,8的内容

by kangtadj - Shell - 2012-04-20 21:23:47 阅读(6928) 回复(21)

a #begin #end b #begin #end c #begin #end d #begin 1 2 3 #end 我想把#begin和#end之间没有任何内容的给删掉,不知道sed如何删除? 实现出来的效果为 a b c d #begin 1 2 3 #end

by alan9101 - Shell - 2012-02-12 13:46:20 阅读(5359) 回复(5)

手头有一份sed高级功能学习文档,其中一部分的内容是: D命令: 删除命令D是删除命令d的形式,区别在于d删除模式空间的内容并读入新,从而在脚本顶端重新使用编辑方法。 D只删除模式空间的第一个嵌入的换符以前的内容,它不会导致读入新,相反,它返回到脚本的顶端,将这些指令应用于模式空间剩余的内容。 示例: # 将个空减少到一个空,使用d命令版本 /^$/{ N /^\n$/d } 测试文件如下: This line is f...

by yhou31 - Shell - 2010-09-27 09:17:50 阅读(3944) 回复(9)

我想把C语言函数入口处添加打印信息,如下所示: int fun() { int i; .... } 改成这样: int fun() { int i; ENTER; .... } 用如下命令 sed -e '/^{/,/^[ \t]*$/s//&\n\tENTER/' test.c > test.c.bak 可是生成的结果却了一个ENTER,为什么会这样呢? int fun() { ENTER int i; ENTER .... }

by tajial - Shell - 2009-12-29 16:09:49 阅读(1335) 回复(2)

我知道。用sed可以删除。但加入变量后就出错了。 如下: sed -i '3814d' imapd.log sed -i '3814d;3815d' imapd.log sed -i "$num"d imapd.log ........................... 如果加入个变量....

by ckhitler - Shell - 2009-04-07 18:30:54 阅读(3157) 回复(2)

文本截取如下: Consult Section 3.1 in the Owner and Operator Guide for a description of the tape drives available on your system. 匹配以下内容: Ower and Operator Guide 使用以下sed脚本为何不能匹配上述内容? /Owner/{ N /Owner\nand\nOperator\nGuide/p }

by li_haigang - Shell - 2008-08-06 09:03:19 阅读(4275) 回复(20)

sed一次可以插入吗?

by gaoshixing - Shell - 2008-04-11 11:09:23 阅读(8151) 回复(7)

在code中有 MACRO_NAME("name") 如果这两个在同一还可以 如果变成这样 MACRO_NAME( "name" ) 就不好处理, 我现在的想法是要把MARCO_NAME 和name用shell脚本抽取出来 做成MACRO_NAME name的格式 请高手指点~~~~

by alexandnpu - Shell - 2011-07-01 13:02:30 阅读(2242) 回复(4)

由于是外 所以 请教下 谢谢 下面的 如何合并 2009-9-1 8:47:47 Failure woaini 2009-9-1 8:47:45 Failure 192.168.16.225 2009-9-1 8:40:37 Failure 2009-9-1 8:40:37 Failure pppp 192.168.17.5 我想合并为如下格式 2009-9-1,8:47:47,Failure,woaini 2009-9-1,8:47:45,Failure,,192.168.16.225 2009-9-1,8:40:37,Failure 2009-9-1,8:40:37,Failure,pppp,192.168.17.5 主要用来SQL LOADR 导入ORACLE 谢谢了

by gaopengtttt - Shell - 2009-09-06 17:06:35 阅读(3209) 回复(14)