本文介绍的是 sed,在编辑时候,更多陈腐实用的做法。
- w 另存爲文件(相當於 Ctrl+s)
- s 數字格局替換
示例一:
# 將 test.txt 裏面的内容另存爲 output
sed 'w output.txt' test.txt
示例二:
# 將 test.txt 的第二行插入 102,上海并保留為 output
#分號; 能够一行執行多條語句
sed '2i 102, 上海;w output.txt' test.txt
sed ‘[地址范畴 | 模式范畴]’ \
s#[被替换的字符串]#[替换后的字符串]#[替换标记] [输出文件]
替换标记 g 全局标记 数字标记 1,2,3 ;
- 打印 p
- 写入 w
- 疏忽大小写 i
- 执行命令标记 e
實例 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
小实例:对雷同范畴做多种不同操作
相似 乘法分配律
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