标题: [问题求助] [已解决]sed语句怎么换行 [打印本页]
作者: syqh2010 时间: 2014-10-10 11:35 标题: [已解决]sed语句怎么换行
本帖最后由 syqh2010 于 2015-3-4 00:24 编辑
不知这样提问对不对啊。
如有一语句- sed -r -e "1ibathome" -e "/^man/athank" -e "/^wei/abang8856" -e "/^xx|^non/d" -e "/^ gan/s/.*/gan555/" -e "/^xie/s/.*/xiexie/" -e "$averymuch" a.txt>b.txt
复制代码
我想分成一段一段的,这样好看,容易改,效果类似下面- sed -r -e "1ibathome"
- -e "/^man/athank"
- -e "/^wei/abang8856"
- -e "/^xx|^non/d"
- -e "/^ gan/s/.*/gan555/"
- -e "/^xie/s/.*/xiexie/"
- -e "$averymuch"
- a.txt>b.txt
复制代码
请问怎样才能实现?谢谢!
作者: Linuxer 时间: 2014-10-10 12:07
回复 1# syqh2010
需要写全命令- sed -r -e "1ibathome" a.txt > b.txt
- sed -r -e "/^man/athank" a.txt >> b.txt
- sed -r -e "/^wei/abang8856" a.txt >> b.txt
- sed -r -e "/^xx|^non/d" a.txt >> b.txt
- sed -r -e "/^ gan/s/.*/gan555/" a.txt >> b.txt
- sed -r -e "/^xie/s/.*/xiexie/" a.txt >> b.txt
- sed -r -e "$averymuch" a.txt >> b.txt
复制代码
作者: DAIC 时间: 2014-10-10 12:38
回复 2# Linuxer - @echo off
- sed -e "1ibathome" ^
- -e "/^man/athank" ^
- -e "/^wei/abang8856" ^
- -e "/^xx|^non/d" ^
- -e "/^ gan/s/.*/gan555/" ^
- -e "/^xie/s/.*/xiexie/" ^
- -e "$averymuch" ^
- a.txt > b.txt
复制代码
作者: syqh2010 时间: 2014-10-10 16:38
回复 3# DAIC
谢谢!
其它都可以,但有一句用不了
-e "/^xx|^non/d" ^
原来能删的,现在删不了。
http://www.bathome.net/viewthread.php?tid=32361&highlight=
作者: DAIC 时间: 2014-10-10 17:07
回复 4# syqh2010
@echo off
sed -r -e "1ibathome" ^
-e "/^man/athank" ^
-e "/^wei/abang8856" ^
-e "/^xx|^non/d" ^
-e "/^ gan/s/.*/gan555/" ^
-e "/^xie/s/.*/xiexie/" ^
-e "$averymuch" ^
a.txt > b.txt
作者: syqh2010 时间: 2014-10-10 17:08
回复 3# DAIC
谢谢,可以了,要一个 -r- @echo off
- sed -r -e "1ibathome" ^
- -e "/^man/athank" ^
- -e "/^wei/abang8856" ^
- -e "/^xx|^non/d" ^
- -e "/^ gan/s/.*/gan555/" ^
- -e "/^xie/s/.*/xiexie/" ^
- -e "$averymuch" ^
- a.txt > b.txt
复制代码
作者: CrLf 时间: 2014-10-12 21:47
在 SedScript.txt 中保存以下内容:- 1ibathome
- /^man/athank
- /^wei/abang8856
- /^xx|^non/d
- /^ gan/s/.*/gan555/
- /^xie/s/.*/xiexie/
- $averymuch
复制代码
然后用 -f 选项来加载:- sed -r -f SedScript.txt a.txt>b.txt
复制代码
作者: CrLf 时间: 2014-10-12 21:51
另类一点的:- @echo off
- (
- sed -i "1,/^:SedScript/s/^/#/" "%~0"
- sed -r -f SedScript.txt a.txt>b.txt
- sed -i "1,/^#:SedScript/s/#//" "%~0"
- )
- pause & exit /b
-
- :SedScript
- 1ibathome
- /^man/athank
- /^wei/abang8856
- /^xx|^non/d
- /^ gan/s/.*/gan555/
- /^xie/s/.*/xiexie/
- $averymuch
复制代码
作者: syqh2010 时间: 2014-10-12 22:53
回复 8# CrLf
谢谢!受益无穷!
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |