Linux常用基本命令:三剑客命令之-sed

sed是一个很强大的文件处理工具,主要是以行为单位进行处理,可以将数据行进行替换、删除、新增、选取等特定工作

格式:sed [option] [command] [file]

常用命令:

a   ∶新增
        c   ∶取代
        d   ∶删除
         i   ∶插入
         p  ∶列印
         s  ∶取代

选项:

  -i∶直接修改读取的档案内容,而不是由萤幕输出。

    -n∶使用安静(silent)模式。在一般 sed 的用法中,所有来自 STDIN的资料一般都会被列出到萤幕上。但如果加上 -n 参数后,则只有经过sed 特殊处理的那一行(或者动作)才会被列出来。

1,sed ‘1d‘ ghostwu.com   d代表删除 d前面的数字代表删除第一行,该命令不会修改文件本身

[email protected]:~/linux/sed$ cat -n ghostwu.txt
     1    this is ghostwu
     2    how are you
     3    hod old are you
     4    and you
     5    fine thank you
     6    come with me!!!
[email protected]:~/linux/sed$ sed ‘1d‘ ghostwu.txt
how are you
hod old are you
and you
fine thank you
come with me!!!
[email protected]:~/linux/sed$ cat ghostwu.txt
this is ghostwu
how are you
hod old are you
and you
fine thank you
come with me!!!

2,删除最后一行,$代表最后一行

[email protected]:~/linux/sed$ cat ghostwu.txt
this is ghostwu
how are you
hod old are you
and you
fine thank you
come with me!!!
[email protected]:~/linux/sed$ sed ‘$d‘ ghostwu.txt
this is ghostwu
how are you
hod old are you
and you
fine thank you

3,删除第一行到第二行

[email protected]:~/linux/sed$ cat ghostwu.txt
this is ghostwu
how are you
hod old are you
and you
fine thank you
come with me!!!
[email protected]:~/linux/sed$ sed ‘1,2d‘ ghostwu.txt
hod old are you
and you
fine thank you
come with me!!!

4,删除第二行到最后一行

[email protected]:~/linux/sed$ sed ‘2,$d‘ ghostwu.txt
this is ghostwu

5,查找包含‘you‘的行,  /you/ 这是正则表达式, p是打印,要跟n结合起来用

[email protected]:~/linux/sed$ cat ghostwu.txt
this is ghostwu
how are you
hod old are you
and you
fine thank you
come with me!!!
[email protected]:~/linux/sed$ sed -n ‘/you/p‘ ghostwu.txt
how are you
hod old are you
and you
fine thank you

6,匹配$符号结尾的行

$符号在正则表达式表示行尾,所以要用\ 转义

[email protected]:~/linux/sed$ sed -n ‘/\$/p‘ ghostwu.txt
50$

7,在第一行后面,增加一行“你好啊"

[email protected]:~/linux/sed$ cat ghostwu.txt
this is ghostwu
how are you
hod old are you
and you
fine thank you
come with me!!!
how much do you have
50$
oh, is it?
yes
[email protected]:~/linux/sed$ sed ‘1a 你好啊‘ ghostwu.txt
this is ghostwu
你好啊
how are you
hod old are you
and you
fine thank you
come with me!!!
how much do you have
50$
oh, is it?
yes

8,在第一行和第二行的后面,增加一行

[email protected]:~/linux/sed$ sed ‘1,2a learning how to use sed command‘ ghostwu.txt this is ghostwu
learning how to use sed command
how are you
learning how to use sed command
fine thank you

9,也可以增加多行

[email protected]:~/linux/sed$ cat ghostwu.txt
this is ghostwu
how are you
fine thank you
[email protected]:~/linux/sed$ sed ‘1a 你好啊\n很高兴认识你‘ ghostwu.txt
this is ghostwu
你好啊
很高兴认识你
how are you
fine thank you

10, c为替换操作,数字的意思,跟上面的a一样,代表行

[email protected]:~/linux/sed$ cat ghostwu.txt
this is ghostwu
how are you
fine thank you
[email protected]:~/linux/sed$ sed ‘1,2c hey guy‘ ghostwu.txt
hey guy
fine thank you
[email protected]:~/linux/sed$ sed ‘1c hey guy‘ ghostwu.txt
hey guy
how are you
fine thank you

11, s:替换匹配到的内容, s:替换开始 /is/ 匹配包含is的行   g:全部替换

[email protected]:~/linux/sed$ cat ghostwu.txt
this is ghostwu
how are you
fine thank you
[email protected]:~/linux/sed$ sed ‘s/is/IS/‘ ghostwu.txt
thIS is ghostwu
how are you
fine thank you
[email protected]:~/linux/sed$ sed ‘s/is/IS/g‘ ghostwu.txt
thIS IS ghostwu
how are you
fine thank you
[email protected]:~/linux/sed$ cat ghostwu.txt
this is ghostwu
how are you
fine thank you

12、-i :修改,插入文件,会影响文件的内容,在最后一行,插入bye bye

[email protected]:~/linux/sed$ cat ghostwu.txt
this is ghostwu
how are you
fine thank you
[email protected]:~/linux/sed$ sed -i ‘$a bye bye‘ ghostwu.txt
[email protected]:~/linux/sed$ cat ghostwu.txt
this is ghostwu
how are you
fine thank you
bye bye

13,在1-3行,每一行的后面都插入一行数字

[email protected]:~/linux/sed$ cat ghostwu.txt
this is ghostwu
how are you
fine thank you
bye bye
[email protected]:~/linux/sed$ sed -i ‘1,3a 123457‘ ghostwu.txt
[email protected]:~/linux/sed$ cat ghostwu.txt
this is ghostwu
123457
how are you
123457
fine thank you
123457
bye bye

原文地址:https://www.cnblogs.com/ghostwu/p/9069837.html

时间: 2024-10-11 09:10:04

Linux常用基本命令:三剑客命令之-sed的相关文章

第十三天(linux常用的基础命令 )

按照下面的要求创建一个新的逻辑卷:    *) 逻辑卷命名为database, 属于 datastore 卷组.    *) 在 datastore卷组中的逻辑卷,500M.    *)使用{ext3|ext4|xfs}文件系统对新的逻辑卷进行格式化    *)逻辑卷应该在系统启动的时候自动挂载在/mnt/database 目录下.    *)lvm扩大至1G, 并且保留其原有资料的完整性; 新增加一个 SWAP 分区    *) 大小为512MB,    *) 使该 SWAP 能够每次开机生效

Linux 常用基本命令及应用技巧

需要pdf 版 联系我 我的文件中有目录一.Linux 的常用基本命令.........................................................................................................31.登陆.........................................................................................................

Linux常用系统性能监控命令

-->Linux常用系统性能监控命令 Linux常用系统性能监控命令 2016-01-19 Linux爱好者 Linux爱好者 Linux爱好者 微信号 LinuxHub 功能介绍 伯乐在线旗下账号,「Linux爱好者」专注分享 Linux/Unix 相关内容,包括:工具资源.使用技巧.课程书籍等.   来源:工学1号馆 链接:http://wuyudong.com/archives/56 监控CPU使用率 使用下面的命令: [[email protected] ~]# gnome-system

Linux 常用 性能 检测 命令 解释

1.uptime [[email protected] ~]# uptime 15:08:15 up 98 days,  4:19,  2 users,  load average: 0.07, 0.29, 0.14 当前时间   系统运行至今的时间   多少用户登录当前系统   分别是1分钟,5分钟,15分钟前至今的负载情况 load average是队列平均长度,在队列中等待执行的进程数量 该值越低,说明进程更有可能立即被CPU处理,相反越高,说明进程更有可能阻塞 该命令可以检查服务器负载是

Linux 常用的压缩命令有 gzip 和 zip

Linux 常用的压缩命令有 gzip 和 zip,两种压缩包的结尾不同:zip 压缩的后文件是 *.zip ,而 gzip 压缩后的文件 *.gz 相应的解压缩命令则是 gunzip 和 unzip gzip 命令: # gzip test.txt 它会将文件压缩为文件 test.txt.gz,原来的文件则没有了,解压缩也一样 # gunzip test.txt.gz 它会将文件解压缩为文件 test.txt,原来的文件则没有了,为了保留原有的文件,我们可以加上 -c 选项并利用 linux

LINUX常用配置及命令

一.   Fedora系统配置 1.      [设置网卡IP] 步骤如下: 1)     用root用户登陆,打开/etc/sysconfig/network-scripts/ifcfg-eth0文件 注意:打开的文件要根据网卡来设置,如:网卡eth1的配置文件就是ifcfg-eth1. 2)     设置以下内容: DEVICE=eth0 BOOTPROTO=static IPADDR=10.128.32.36 NETMASK=255.0.0.0 ONBOOT=yes GATEWAY=10.

linux常用文字处理命令总结

linux grep命令 作用 Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来.grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户. 主要参数 -n:显示匹配行及 行号. -v:显示不包含匹配文本的所有行. -I:不区分大 小写(只适用于单字符). -l:查询多文件时只输出包含匹配字符的文件名. -e:使用扩展的正则表达式 -w: 只匹配整个单词,而不是字符串的一部

Linux常用的基础命令总结

man 查看英文命令帮助   可以看作--help 拷贝目录的命令cp -a  包含所有 ls -a 显示所有文件包括隐藏文件  -ld ls -F 过滤目录文件(给不同类型文件结尾加上不同的符号) -h显示文件的k,M,G  -i显示文件的索引inode       ls -l --time-style=long-iso 文件 更好的显示文件的修改时间 ls -p 查找出来的内容添加斜线. ls -F 查找出来的内容 添加不同的符号. ls -t根据时间排序  ls -r反转排序  -lt 显

Linux入门- 基本命令 cd命令

今天简单介绍一下Linux常用的基本命令. (一)cd 命令 :进入磁盘的某个目录下[dir] 操作: cd [dir] 其中dir 可以是相对路径也可以绝对路径. 相对路径: cd logs/    #进入当前logs目录 cd ./logs/  #进入当前目录下的logs目录 cd ../logs/ #进入上一层目录下的logs目录 绝对路径: cd /home/logs/ #进入home下的logs目录 补充知识: ./ #表示当前目录 ../ #表示上一层目录 ../../ #表示向上两