首页 > 系统相关 >软件测试/测试开发|Linux sed命令详解

软件测试/测试开发|Linux sed命令详解

时间:2023-12-23 11:32:28浏览次数:44  
标签:bin sbin -- nologin sed Linux root 软件测试

软件测试/测试开发|Linux sed命令详解_修改文件

sed命令介绍

sedstream editor(流编辑器)的简写,sed 可依照脚本的指令来处理、编辑文本文件。Sed主要用来自动编辑一个或多个文件、简化对文件的反复操作、编写转换程序等。

sed命令语法

  • 基本语法:
sed [选项] '动作' 文件名
  • 常用参数
-n, --quiet, --silent    取消自动打印模式空间
 -e 脚本, --expression=脚本   添加“脚本”到程序的运行列表
 -f 脚本文件, --file=脚本文件  添加“脚本文件”到程序的运行列表
 --follow-symlinks    直接修改文件时跟随软链接
 -i[扩展名], --in-place[=扩展名]    直接修改文件(如果指定扩展名就备份文件)
 -l N, --line-length=N   指定“l”命令的换行期望长度
 --posix  关闭所有 GNU 扩展
 -r, --regexp-extended  在脚本中使用扩展正则表达式
 -s, --separate  将输入文件视为各个独立的文件而不是一个长的连续输入
 -u, --unbuffered  从输入文件读取最少的数据,更频繁的刷新输出
 --help     打印帮助并退出
 --version  输出版本信息并退出
 -a ∶新增, a 的后面可以接字串,而这些字串会在新的一行出现(目前的下一行)~
 -c ∶取代, c 的后面可以接字串,这些字串可以取代 n1,n2 之间的行!
 -d ∶删除,因为是删除啊,所以 d 后面通常不接任何咚咚;
 -i ∶插入, i 的后面可以接字串,而这些字串会在新的一行出现(目前的上一行);
 -p ∶列印,亦即将某个选择的资料印出。通常 p 会与参数 sed -n 一起运作~
 -s ∶取代,可以直接进行取代的工作哩!通常这个 s 的动作可以搭配正规表示法

使用示例

  1. 查看文件内容
  • 查看文件指定行的内容,如查看文件5-8行的内容
$ sed -n '5,8 p' passwd
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/usr/sbin/nologin
man:x:6:12:man:/var/cache/man:/usr/sbin/nologin
lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin
  • 查看以指定字符开头的行,如查看以root开头的行
$ sed -n '/^root/ p' passwd
root:x:0:0:root:/root:/bin/bash
  • 忽略大小写,对含有root字符的行打印出来
$ sed -n '/root/I p' passwd
root:x:0:0:root:/root:/bin/bash
nm-openvpn:x:118:124:NetworkManager OpenVPN,,,:/var/lib/openvpn/chroot:/usr/sbin/nologin
  1. 查找功能

查找passwd文件中有/bin/bash字符串的行

$ sed -n '\%/bin/bash% p' passwd
root:x:0:0:root:/root:/bin/bash
muller:x:1000:1000:muller,,,:/home/muller:/bin/bash
  1. 删除打印输出
sed '2,5 d' passwd |head
root:x:0:0:root:/root:/bin/bash
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:65534:65534:Kernel Overflow User:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
  1. 新增行
  • 在文件的第三行之后加上salah
$ sed -e 3a\salah players.txt | head
muller
messi
kane
salah
sane
durant
curry
wulei
wuxi
zhouqi
  • 在文件的最开头追加内容
$ sed '1 i\football' players.txt
football
muller
messi
kane
sane
durant
curry
wulei
wuxi
zhouqi
wangzhelin
  1. 替换功能
$ sed '6 c\harden' players.txt 
muller
messi
kane
sane
durant
harden
wulei
wuxi
zhouqi
wangzhelin

总结

sed 命令的功能非常灵活,可以根据不同的需求组合和应用各种命令和选项。记住,在对文件进行编辑时要小心谨慎,特别是在使用 -i 选项直接修改文件内容时,务必备份文件以防意外。

标签:bin,sbin,--,nologin,sed,Linux,root,软件测试
From: https://blog.51cto.com/u_15640304/8944960

相关文章

  • 软件测试/测试开发|npm常见报错解析
    简介使用npm(NodePackageManager)进行包管理时,常常会遇到各种报错信息。这些报错可能源自于网络问题、包依赖、配置错误或系统环境等多种因素。解决这些问题需要一定的经验和技巧。在这篇文章中,我们会介绍一些常见的npm报错及其解决方法。npmERR!codeECONNRESET这个错误通常......
  • AI自监督学习(Self-Supervised Learning,SSL)
    AI自监督学习(Self-SupervisedLearning,SSL)是一种机器学习方法,用于训练模型从大量无标签数据中自动学习特征表示。自监督学习与传统监督学习不同之处在于,它不需要人工标注数据,而是使用数据本身作为监督信号来学习有效的特征表示。自监督学习在各种AI任务中具有广泛应用前景,如自然语......
  • linux 操作系统基础
    1、ls-列出目录内容。ls-l:以详细列表形式显示文件和目录的权限、所有者、大小等信息。ls-a:显示所有文件和目录,包括隐藏文件(以点开头的文件)。2、cd-切换目录。cd/home:切换到/home目录。cd..:返回上一级目录。cd~:返回当前用户的主目录。3、pwd-显示当前目录的路径。4、mkdi......
  • linux基础01----命令集锦
    Linux命令集锦:一、关机&重启命令:   sync:把内存的数据同步到磁盘,当我们关机或者重启时,都应该先执行下sync命令,把内存的数据写入磁盘,防止数据丢失。   shutdown-hnow:表示立即关机   shutdown-h 1:表示1分钟后关机    shutdown-rnow:立即重启 ......
  • linux-firewalld 和iptable的策略配置(nat 以及端口开放)
    一、配置防火墙开发端口1、sudoyuminstallfirewalldsudosystemctlstartfirewalldsudosystemctlenablefirewalld2、配置防火墙规则firewall-cmd--permanent--add-service=sshfirewall-cmd--permanent--add-service=httpfirewall-cmd--permanent......
  • linux基础002-----环境搭建1
    一、               vimtools安装    在终端输入gcc-v如果显示gcc的版本说明安装了gcc  之后一直回车          关闭系统后,在虚拟机中找到要克隆的系统,右键---管理---克隆,选择克隆的位置(选择大的磁......
  • linux-网卡配置
    一、网络配置iplinkshow查看网卡配置setens33up/down网卡的开启关闭iplinkadd/up添加/删除网卡为网络设备添加协议地址ipaddress192.168.10.1/24brocase二、添加网卡并配置网络1、在linux虚拟机上新添加一个网卡2、进入终端网卡配置界面cd/etc/s......
  • linux系统僵尸进程处理
    查看僵尸进程[root@mac-25~]#toptop-19:04:11up177days,23:58,2users,loadaverage:15.18,21.64,22.02Tasks:1791total,2running,1347sleeping,0stopped,43zombie%Cpu(s):30.7us,5.9sy,0.0ni,57.7id,0.3wa,0.9hi,4.4si,0......
  • 如何解决在 Linux 中 WPS 字体缺失问题(安装常用的 Windows 中文字体)
    所需文件的下载链接在末尾Symbol字体安装wsp-font-symbols即可Windows字体安装Win10Fonts即可常用字体文件内容包括仿宋GB2312、楷体GB2312、方正小标宋简安装方式首先下载你所需要的字体文件在字体文件所在的目录下右键点击在命令行中打开或OpeninTerminal......
  • linux tar打包压缩解压命令学习
    Linux系统中tar是最常用的打包工具,通过打包工具可以压缩/解压比如常见的压缩包格式如下:tar未压缩文件只是做了一个打包而已tar.gz使用gzip算法格式压缩的压缩包tar.bz2bz2格式压缩包tar.xzxz格式压缩参数介绍tar的参数很多列出几个比较......