首页 > 系统相关 >shell sed命令

shell sed命令

时间:2023-03-24 11:04:03浏览次数:27  
标签:shell 删除 命令 sed student 字符串 txt 替换

命令介绍

sed 主要是用来将数据进行选取、替换、删除、新増的命令。我们看看命令的语法

选项:
-n:一般 sed 命令会把所有数据都输出到屏幕上。如果加入此选项,则只会把经过 sed 命令处理的行输出到屏幕上;
-e: 允许对输入数据应用多条 sed 命令编辑;
-f 脚本文件名:从 sed 脚本中读入 sed 操作。和 awk 命令的 -f 选项非常类似;
-r:在 sed 中支持扩展正则表达式;
-i:用 sed 的修改结果直接修改读取数据的文件,而不是由屏幕输出动作;
a \:追加,在当前行后添加一行或多行。当添加多行时,除最后一行外,每行末尾需要用“\”代表数据未完结;
c \:行替换,用c后面的字符串替换原数据行。当替换多行时,除最后一行外,每行末尾需用“\”代表数据未完结;
i \:插入,在当前行前插入一行或多行。当插入多行时,除最后一行外,每行末尾需要用“\”代表数据未完结;
d:删除,删除指定的行;
P:打印,输出指定的行;
s:字符串替换,用一个字符串替换另一个字符串。格式为“行范围s/旧字串/新字串/g”(和Vim中的替换格式类似);

基本操作

sed -n '2p' student.txt #输出第2行数据
sed '2,4d' student.txt #删除从第二行到第四行的数据
sed -i '2,4d' student.txt #直接删除文件从第二行到第四行的数据
sed '2a hello' student.txt #在第二行后加入hello
sed '2i hello \nworld' student.txt #在第二行前插入两行数据

字符串替换

格式:sed's/旧字符串/新字符串/g' 文件名

sed '3s/74/99/g' student.txt #在第三行中,把74换成99
sed '4s/^/#/g' student.txt   #在第4行,行开头位置加上#字符

  

删除操作

sed -i '/str$/d' file
1、sed -i:表示直接对文本操作
2、sed -i '/字符串/d' file: d,表示删除,整条命令表示删除文件中于字符串匹配上的行
3、^ 表示行首,$表示行尾,用这个两个字符配合字符串,可以强制匹配某行内容

  

 

标签:shell,删除,命令,sed,student,字符串,txt,替换
From: https://www.cnblogs.com/boye169/p/17250745.html

相关文章

  • dos 命令
    dos命令打开cmd方式开始+系统+命令提示符win键+R输入cmd打开控制台在任意文件夹下面,按住shift+鼠标右键,在此处打开命令行窗口资源管理器地址栏加上cmd路径......
  • linux 命令使用9--netstat(网络)
    1.概述netstat命令是一个监控TCP/IP网络的非常有用的工具,它可以显示路由表、实际的网络连接以及每一个网络接口设备的状态信息。2.语法netstat[-acCeFghilMnNoprstuvV......
  • Linux查看端口的命令-九五小庞
    第一种:lsof命令lsof(listopenfiles)是一个列出当前系统打开文件的工具。lsof-i:端口号lsof可查看端口占用情况示例:查看服务器8000端口的占用情况:第二种:netstat......
  • Linux命令su、sudo、sudo su、sudo -i使用和区别
    sudo与su两个命令的最大区别是:sudo命令需要输入当前用户的密码,su命令需要输入root用户的密码。另外一个区别是其默认行为,sudo命令只允许使用提升的权限运行单个命......
  • java方法- 命令行传参(不重要,了解即可)
    命令行传参运行一个程序时再传递给消息,就靠传递命令行参数给main()函数实现publicclassCommandLine{  publicstaticvoidmain(String[]args){    for(i......
  • Linux实用又常用的命令
    linux查看当前目录下每个子目录的文件数量find.-maxdepth1-typed|whilereaddir;docount=$(find"$dir"-typef|wc-l);echo"$dir:$count";done-maxde......
  • git常用命令
    gitclone地址   :克隆仓库gitclone-b分支名地址  :克隆仓库分支gitadd.  :暂存代码到本地gitcommit-m'提交信息' :提交代码到本地gitpush ......
  • Docker CLI docker config rm 常用命令
    Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的Linux或Windows操作系统的机器上,也可以实现虚拟化。Doc......
  • sed在匹配行后跳过若干行删除多行
    示例文件a.txt内容:0node_id:12345678910111213假设我们要在node_id后,跳过4行,删除6行,命令如下sed'/node_id/{n;n;n;n;n;N;N;N;N;N;d}'a.txt其中n;的......
  • 一些git使用命令
    1、新建仓库gitinit2、如果要本地更改文件,需要更新到远端。gitstatus#查看当前文件状态gitadd-A#"gitadd-A"命令用于将工作目录中所有已修改、已删除......