sed 基本命令
[address]command

---------------------------------------------------------------------------
address: 行地址
隐式匹配所有行

固定行数
sed -n '1p' /etc/passed
sed '1s/:/-/g' /etc/passwd
行数范围
sed -n '1,$p' /etc/passed
sed '1,$s/:/-/g' /etc/passwd
匹配正则行
sed -n '/[0-9]\{3,\}/p' /etc/passwd
sed '/[0-9]\{3,\}/s/:/-/g' /etc/passwd
匹配正则行范围
sed -n '/root/,/rpm/p' /etc/passwd
sed '/root/,/rpm/s/:/-/g' /etc/passwd

---------------------------------------------------------------------------
替换s
[address]s/pattern/replacement/flags

flags:
n    1-512, 表示对本模式中指定模式第n次出现的情况进行替换
g    对模式空间的所有出现的情况进行全局更改, 如果没有g时只有第一次出现的情况被更改
p    打印模式空间内容
w file    将模式空间的内容写到文件file中

替换元字符 (\) (&) (\n)
\    一般用于转义其他元字符, 但它在替换字符中也用于包含换行符
匹配root所在行, 并将其前后设置为一行空行
sed '/root/ {
    s/^/\
    /
    s/$/\
    / }' /etc/passwd
sed '/root/ {s/^/\n/ ;s/$/\n/}' /etc/passwd

&    作为替换元字符, 它表示模式匹配的范围, 用于在替换字符串中引用整个匹配内容
echo "Unix Operating System" |sed 's/Unix/(&)/'
将用户名字符少于4个字母的使用小括号括起来
sed '/^[a-z]\{1,3\}:/s/^[a-z]\{1,3\}/(&)/' /etc/passwd

\n    1-9, 用于引用特殊保存的备用字符串 (转义的圆括号 (\(和\)可以理解为元字符序列) 括住正则表达式的任意部分并保存以备对应的 \n 回调)
将冒号左右内容对调
echo "second:first" |sed 's/\(.*\):\(.*\)/\2:\1/'

---------------------------------------------------------------------------
删除d
删除可能包含空格的空行
sed '/^ *$/d' /etc/passwd
删除指定范围的行
sed '/root/,/rpm/d' /etc/passwd

---------------------------------------------------------------------------
追加a/插入i/更改c

[line-address]a\
text

[line-address]i\
text
在第二行前面插入一行before, 第二行后面增加一行after
sed -e '2i\before' -e '2a\after' /etc/passwd
匹配root所在行, 并将其前后设置为一行空行
sed -e '/root/i\\' -e '/root/a\\' /etc/passwd
为每行下面插入一空行
sed '1,$a\\' /etc/passwd
sed 's/$/\n/' /etc/passed
sed '{s/$/\
/ }' /etc/passwd

[address]c\
text
将1-4行更改为一行#####
sed '1,4c\#####' /etc/passwd

参考sed&awk
强烈推荐:http://liuyu.blog.51cto.com/183345/87768

By Xiao

转载于:https://blog.51cto.com/shawonline/201704

1012 sed 基本命令(进行中)相关推荐

  1. sed 替换_Linux中sed的用法

    1.sed 流编辑器,实现对文字的增删改替换查(过滤.取行),能同时处理多个文件多行的内容,可以不对原文件改动,把整个文件输入到屏幕,可以把只匹配到模式的内容输入到屏幕上.还可以对原文件改动,但是不会 ...

  2. linux脚本中sed -i,Linux 中常用的sed命令

    sed是一种流编辑器,它是文本处理中非常中的工具,能够完美的配合正则表达式使用,功能不同凡响.处理时,把当前处理的行存储在临时缓冲区中,称为"模式空间"(pattern space ...

  3. linux sed在容器中怎么用,概述LFCS 基础之sed用法

    导读 Linux 基金会认证系统管理员(LFCS)的另一个有用的命令是 "sed",最初表示"流式编辑器" Streaming EDitor. "se ...

  4. linux中sed深入,Linux中的sed

    应用举例: 1.找出包含数字 0 的行 # sed -n '/0/p' /tmp/passwd # nl /tmp/passwd | sed -n '/0/p' 1.找出包含任意数字的行 # sed ...

  5. sed和awk中使用shell变量

    最近做预料处理,使用bash脚本,需要在脚本的sed和awk使用shell变量以控制循环,出现一些问题后找到解决办法如下: 1.sed使用shell变量  这个比较好办,sed命令中可以用单引号和双引 ...

  6. shell中通过sed替换文件中路径

    通常sed指令修改行内容时使用:sed -i " 9 s/^.*/"type in what you want modified!"/" 其中"typ ...

  7. 如何使用sed在文件中确定行插入带有变量的字符串

    背景 最近在研究一键部署,其中有一个环节,是要使用shell脚本放开防火墙的某个端口号 方法 使用shell中常见的插入文本命令:sed 问题 如果已经预知要打开的端口号如6379,可以使用:sed ...

  8. linux中往sed命令,Linux中Sed命令怎么用?

    Linux中Sed命令怎么用? 发布时间:2020-05-26 17:14:39 来源:亿速云 阅读:245 作者:鸽子 Sed介绍:sed是文本处理工具,读取文本内容,根据指定的条件进行处理如删除. ...

  9. 用sed替换文件中的空格

    请教sed 替换问题 请教各位如何替换多个空格为一个字符,如一个文件中间隔符有是一个空格,有的地方是多个空格,想全部用"|"替换,如何处理,请指教 请教sed 替换问题 [code ...

最新文章

  1. 有人从英伟达借了台DGX A100,让神经网络自己造了个GTA5自己玩
  2. elasticsearch 路由文档到分片
  3. datatable移动一列的位置
  4. 衡水计算机考试报名入口,2018下半年NCRE全国计算机等级考试报名通知
  5. 信息学奥赛一本通 2062:【例1.3】电影票
  6. win7 无法修改 host 文件解决方案
  7. 分类算法-逻辑回归与二分类
  8. C#开发Activex控件--与JavaScript的互调
  9. 注册机patch起什么作用_单相电机的运行电容起什么作用
  10. Eclipse发布Web项目
  11. Javascript定时器的使用
  12. journalctl命令详解,与如何查看系统日志
  13. 手写一个Spring Boot Starter
  14. Domain Adaptation 简介
  15. php 0x80070005,FastCGI Error Number: 5 (0x80070005)解决方法
  16. java文本域添加滚动条实例_java文本域滚动条
  17. Python爬虫实例,一小时上手爬取淘宝评论(附代码)!
  18. python + opencv 创建简单渐变色
  19. 【Unity】Unity 2D游戏开发(一)U2D基础功能
  20. 2021年智能晾衣机销售增长96%,好易点的增长引擎是什么?

热门文章

  1. java中replaceall用法_Java中String的ReplaceAll使用小结
  2. frpc客户端 linux安装,centos配置frp服务端,与客户端
  3. java try 性能损耗_Java 中的 try catch 影响性能吗?
  4. mysql能管理多大的硬盘,Mysql----查看数据库,表占用磁盘大小
  5. 设计一个采用udp实现数据传输的程序_TCP/IP、UDP、HTTP、MQTT、CoAP这五种物联网协议...
  6. emq与mysql_EMQ X 插件持久化系列 (五)MySQL MQTT 数据存储
  7. css阵列,CSS3简单的圆点阵列旋转加载动画
  8. python pytorch自定义_Pytorch 实现自定义参数层的例子
  9. 【备忘】加入L2范数正则化后的正规方程求解参数推导过程
  10. Android NDK开发之 NDK类型签名