shell 编程-SED
非交互式编辑器,一次处理一行内容。
示例文件
file1.txt
John Daggett, 341 King Road, Plymouth MA
Alice Ford, 22 East Broadway, Richmond VA
Orville Thomas, 11345 Oak Bridge Road, Tulsa OK
Terry Kalkas, 402 Lans Road, Beaver Falls PA
Eric Adams, 20 Post Road, Sudbury MA
Hubert Sims, 328A Brook Road, Roanoke VA
Amy Wilde, 334 Bayshore Pkwy, Mountain View CA
Sal Carpenter, 73 6th Street, Boston MA
用Massachusetts替换MA:
#sed 's/MA/Massachusetts/' file1.txt
使用多重指令:
# sed 's/MA/Massachusetts/ ; s/PA/Pennsylvania/' file1.txt
使用脚本文件:
脚本:namestate
s/MA/Massachusetts/
s/PA/Pennsylvania/
s/CA/California/
s/VA/Virginia/
s/OK/Oklahoma/
-f<script文件>或--file=<script文件> 以选项中指定的script文件来处理输入的文本文件。
$ sed -f namestate file1.txt
保存输出:
$ sed -f namestate file1.txt > newfile.txt
阻止输入行自动显示:
$ sed -n 's/MA/Massachusetts/p' file1.txt