• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

Linux-三大编辑神器-sed-中集

linux 搞代码 3年前 (2022-03-03) 21次浏览 已收录 0个评论

本文介绍的是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

搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Linux-三大编辑神器-sed-中集

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址