本文介绍的是sed,在编辑时候,更多新鲜实用的作法。code
示例一:字符串
#將test.txt裏面的内容另存爲output sed 'w output.txt' test.txt
示例二:test
#將test.txt的第二行插入102,上海并保存為output #分號;能够一行執行多條語句 sed '2i 102,上海;w output.txt' test.txt
sed '[地址范围|模式范围]' \
s#[被替换的字符串]#[替换后的字符串]#[替换标志] [输入文件]sed
替换标志 g全局标志 数字标志1,2,3 ;方法
實例1:数据
cat gg.text #第一列能够所有替換 sed 's#1#0#1' gg.text #第二列的第一行替換 sed '2s#1#0#1' gg.text #第二,第三列的第一行替換 sed '2,3s#1#0#1' gg.text #第一行的所有替換 sed '2s#1#0#1g' gg.text #第二行從第4個開始所有替換 sed '2s#1#0#4g' gg.text #第二第三行的第4行開始所有替換 sed '2,3s#1#0#2g' gg.text #sed 行數替換範圍1<N<512
实际状况:
如何同时执行多条语句?脚本
#方法1: -e #删除第2列数据 并将文件中的01所有替换成10 结果另存为output.txt sed -e '2d' -e 's#01#10#g' -e 'w output.txt' test.txt #方法2: 分号隔开 sed '2d;s#01#10#g;w output.txt' test.txt #方法3: sed -f 接上sed脚本 cat manul.sed #在脚本里面输入内容: 2d s#01#10#g w output.txt sed -f manul.sed test.txt
小实例:如何获取行号文件
#先提取行号,而后对换行的地方通通替换成空格。 sed '=' test.txt | sed 'N;s#\n# #' # cat -n 选项 cat -n test.txt
小实例:对相同范围作多种不一样操做
相似乘法分配律co
sed -n '2,4{p;=}' test.txt sed -n '2,4p;2,4=' test.txt
小实例:输出不可见字符
l 打印文本中TAB键\t和行尾标志$字符
sed -n 'l' test.txt
小实例:字符替换
y 参数 内容格式和s///或者s###一致
sed 'y/111/222/g' test.txt tr '111' '222' < test.txt
小实例:读取文件添加写入
r 参数 + 要被读取的文件名
sed 'r testb.txt' testa.txt #在第一行添加插入 sed '1r testb.txt' testa.txt #在最后一行添加插入,等价于文件合并 sed '$r testb.txt' testa.txt