sed用法

简介:

查找数据

1、-n:加上-n后,sed才会被处理;不加则全部打印

[root@test ~]# sed -n  '/root/'p /etc/passwd

root:x:0:0:root:/root:/bin/bash

operator:x:11:0:operator:/root:/sbin/nologin

dockerroot:x:498:498:Docker User:/var/lib/docker:/sbin/nologin


[root@test ~]# sed -n  '/^root/'p /etc/passwd

root:x:0:0:root:/root:/bin/bash

2、打印出第一,二行

[root@test ~]# sed -n '1,2'p /etc/passwd

root:x:0:0:root:/root:/bin/bash

bin:x:1:1:bin:/bin:/sbin/nologin

打印最后一行

[root@test ~]# sed -n '$'p /etc/passwd


3、支持通配符

[root@test ~]# sed -n '/^t*t/p' /etc/passwd 

tcpdump:x:72:72::/:/sbin/nologin

test:x:507:111::/home/test:/bin/bash

test1:x:509:111::/home/test1:/bin/bash

4、-e:多点编辑


删除数据

1、将含有root的行都删除

[root@test ~]# sed '/root/'d /etc/passwd

2、删除第2行到最后一行

[root@test ~]# sed '2,$'d /etc/passwd

root:x:0:0:root:/root:/bin/bash


3、删除test行,直到最后一行

[root@test ~]# sed '/test/,$'d /etc/passwd


更改数据:

-i:表示执行

1、将test更改为test-gz

[root@test ~]# sed -n 's#test#test-gz#g'p passwd 

test-gz:x:507:111::/home/test-gz:/bin/bash

test-gz1:x:509:111::/home/test-gz1:/bin/bash

gztest-gz:x:555:111::/home/zg/:/bin/bash


2、将0-9的删除

[root@test ~]# sed 's#[0-9]##g' passwd 

[root@test ~]# sed 's/[a-zA-Z]//g' test.txt


3、

[root@test jpg]# ls *|sed -r 's#(^.*)_test.*#mv & \1.txt#g'

mv 1_test.txt 1.txt

mv 2_test.txt 2.txt

mv 3_test.txt 3.txt

mv 4_test.txt 4.txt

mv 5_test.txt 5.txt

[root@test jpg]# ls *|sed -r 's#(^.*)_test.*#mv & \1.txt#g'|bash


增加数据:

a 追加文本到指定行后

i 插入文本到指定行前


数据准备:

[root@test ~]# cat 1.txt 

101 zhang 

102 wo

103 yu

104 sl

105 yn


[root@test ~]# sed '2a 102 test' 1.txt 

101 zhang 

102 wo

102 test

103 yu

104 sl

105 yn

[root@test ~]# sed '2i 102 test' 1.txt 

101 zhang 

102 test

102 wo

103 yu

104 sl

105 yn


例子:调换2个字符串的位置

sed 's#\(zabbix\)\(.*\)\(nologin\)#\3\2\1#g' passwd 

nologin:x:996:994:Zabbix Monitoring System:/var/lib/zabbix:/sbin/zabbix

()作为一个整体,()在sed中为特殊字符,需要用 \ 脱意


以任意字符开头的,在前面都加上123;&表示前面的内容

sed 's#^.*$#123&#g' passwd

123virftp:x:1002:1002::/home/virftp:/sbin/nologin

123pure-ftp:x:1010:1010::/home/pure-ftp:/bin/bash

123zabbix:x:996:994:Zabbix Monitoring System:/var/lib/zabbix:/sbin/nologin

123roooooooooot

123rooodt














本文转自方向对了,就不怕路远了!51CTO博客,原文链接:http://blog.51cto.com/jacksoner/1979372 ,如需转载请自行联系原作者


相关文章
|
C# 开发者 iOS开发
hubilder打包+C#服务端个推服务实现
关于推送鼓捣了好长时间,这里不再写helloworld了,只讲里面遇到的问题。 1.关于苹果开发者平台上的注册 网上很多的教程,只要按照步骤来设置就行了,在 iOS证书(.p12)和描述文件(.mobileprovision)申请 这篇文章里面讲的很清楚,文章中也说明了,如果要使用推送功能,那么在申请AppID的时候要选择“Push Notifications”这个选项。
1341 0
|
6天前
|
云安全 人工智能 安全
AI被攻击怎么办?
阿里云提供 AI 全栈安全能力,其中对网络攻击的主动识别、智能阻断与快速响应构成其核心防线,依托原生安全防护为客户筑牢免疫屏障。
|
16天前
|
域名解析 人工智能
【实操攻略】手把手教学,免费领取.CN域名
即日起至2025年12月31日,购买万小智AI建站或云·企业官网,每单可免费领1个.CN域名首年!跟我了解领取攻略吧~
|
10天前
|
安全 Java Android开发
深度解析 Android 崩溃捕获原理及从崩溃到归因的闭环实践
崩溃堆栈全是 a.b.c?Native 错误查不到行号?本文详解 Android 崩溃采集全链路原理,教你如何把“天书”变“说明书”。RUM SDK 已支持一键接入。
621 216
|
存储 人工智能 监控
从代码生成到自主决策:打造一个Coding驱动的“自我编程”Agent
本文介绍了一种基于LLM的“自我编程”Agent系统,通过代码驱动实现复杂逻辑。该Agent以Python为执行引擎,结合Py4j实现Java与Python交互,支持多工具调用、记忆分层与上下文工程,具备感知、认知、表达、自我评估等能力模块,目标是打造可进化的“1.5线”智能助手。
860 61
|
8天前
|
人工智能 移动开发 自然语言处理
2025最新HTML静态网页制作工具推荐:10款免费在线生成器小白也能5分钟上手
晓猛团队精选2025年10款真正免费、无需编程的在线HTML建站工具,涵盖AI生成、拖拽编辑、设计稿转代码等多种类型,均支持浏览器直接使用、快速出图与文件导出,特别适合零基础用户快速搭建个人网站、落地页或企业官网。
1337 157
|
5天前
|
编解码 Linux 数据安全/隐私保护
教程分享免费视频压缩软件,免费视频压缩,视频压缩免费,附压缩方法及学习教程
教程分享免费视频压缩软件,免费视频压缩,视频压缩免费,附压缩方法及学习教程
249 138
|
7天前
|
存储 安全 固态存储
四款WIN PE工具,都可以实现U盘安装教程
Windows PE是基于NT内核的轻量系统,用于系统安装、分区管理及故障修复。本文推荐多款PE制作工具,支持U盘启动,兼容UEFI/Legacy模式,具备备份还原、驱动识别等功能,操作简便,适合新旧电脑维护使用。
551 109