首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【Linux系列】sed命令的深入解析:如何使用sed删除文件内容

删除文件内容的sed命令要使用sed删除文件中的所有内容,可以使用以下命令:sed -i '' img.sh这条命令的含义是:sed:调用流编辑器。-i:直接修改文件,不输出到标准输出。''...但是,当与-i选项结合使用时,这个空的替换模式实际上会删除文件中的所有内容。...为什么使用sed删除文件内容尽管有许多方法可以删除文件内容,如使用>重定向或echo命令,但使用sed有其独特的优势:跨平台兼容性:sed在大多数 Unix 和 Linux 系统中都是可用的,这使得它成为一个跨平台的解决方案...要删除这个文件中的所有内容,我们可以执行以下命令:sed -i '' img.sh执行后,img.sh文件将变为空文件。...我们可以使用cat命令来验证:cat img.sh输出应该是空的,表明文件内容已被成功删除。注意事项备份文件:在使用sed -i删除文件内容之前,建议先备份原文件,以防万一需要恢复。

17300

sed的基本用法详解

: a)0,/regexp/:从起始行开始到第一次能够被regexp匹配到的行 b)/regexp/,/regexp/:被模式匹配到的行内的所有的行 c)#,#:#为数字...,给定具体的行范围 d)#,+N:#为数字,从#开始的行开始,向下N行的所有的行 7)first~step:指定起始的位置及步长,例如:1~2表示1,3,5… 2、常用的编辑命令:...通常replacement为固定的字符窜): \L:转换后面的内容第一个字母为小写字母 \l:后面的内容全部转换成小写,直到遇到\E为止 \U:转换后面的内容第一个字母为大写字母...&/g为前面所匹配到的小写字母全部替换为大写字母 4、把/etc/man.config文件所有不以#开头的行保存到/tmp/sed/man.txt的目录中 其中多个脚本用-e来分别执行,其实用;也可以实现多个脚本的连接...5、用sed命令修改/tmp/sed/inittab中的id:X:initdefault:修改为id:5:initdefault:(其中X为任意的数字) ?

2.3K60
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Linux基础(day29)

    '|sort|uniq -c|sort -rn 二. sed转换大小写 把每个单词的第一个小写字母变成大写 [root@hf-01 sed]# sed 's/\b[a-z]/\u&/'g test.txt...# 总结 \b 表示单词的边界 & 表示 第一个 // 里面的内容 \u表示大写 \l表示小写 三. sed在某一行最后添加一个数字 [root@hf-01 sed]#...head -n1 test.txt |sed 's/\(^r.*\)/\1 12/' //在以r 字母开头的行,结尾处添加数字123 root:x:0:0:root:/root:/bin/bash...12 [root@hf-01 sed]# head -n1 test.txt |sed 's/\(^r.*\)/& 123/' //在以r 字母开头的行,结尾处添加数字123 root:x:0:...字母开头的行,替换成1 123 1 123 这里的 \1 应该指的是前面 // 的内容 & 表示 第一个 // 里面的内容 扩展知识 在含有root行前面添加字符abc字符串和一个空格

    66590

    sed 命令+正则表达式

    //g'          删除第一个字符,区别  's/\....//g'删除所有的句点     's/COL/(...\)//g'  删除紧跟COL的后三个字母     's/^\///g'         删除路径中第一个\ ///////////////////...假定要匹配任意一个数字,可以使用:[ 0 1 2 3 4 5 6 7 8 9 ]    要匹配任意字母,则使用:[ A - Z a - z ]表明从A - Z、a - z的字母范围。...\s:用于匹配单个空格符,包括tab键和换行符;   \S:用于匹配除单个空格符之外的所有字符;   \d:用于匹配从0到9的数字;   \w:用于匹配字母,数字或下划线字符;   \W:用于匹配所有与...:用于匹配除换行符之外的所有字符。   (说明:我们可以把\s和\S以及\w和\W看作互为逆运算)   下面,我们就通过实例看一下如何在正则表达式中使用上述元字符。

    3.4K20

    几个Linux命令及脚本使用中的奇淫巧技

    ,包括大小写字母、数字及特殊(/与+)符号。...(cd /bin;ls) 本例子中,使用()定义了一个子shell,对当前的shell并无影响,所有改变仅限于子shell中,上述操作在某些场景中特别有用。...实例7.删除文本中的空白行。 sed -i '/^$/d' a.txt 实现这个功能的命令很多,可能这是最简单一个命令了。 实例8.通过正则表达式的匹配,将匹配内容使用&替代,按照指定格式输出。...My phone number is 010-87654321"|sed 's/[a-zA-Z0-9]\+/{&}' 上面例子分别匹配出了目标字符串中的单词(包括数字和字母),并把匹配内容分别使用[]和...实例9.通过sed命令直接编辑文本时,在编辑之前先将源文件进行备份。

    65720

    sed入门详解教程 原

    使用方法大概有如下几种。 [a-z]:表示a-z字符中的一个,也就是小写字母。 [0-9]:表示0-9字符中的一个,也就是表示数字。 [A-Z]:表示大写字母。...[a-zA-Z]:表示字符集为小写字母或者大写字母。 [a-zA-Z0-9]:表示普通字符,包括大小写字母和数字。 [abc]:表示字符a或者字符b或者字符c。...4、数字定址和正则定址混用 其实数字定址和正则定址可以配合使用,参考下边的例子。 例子1: sed -n ‘1,/^TS/d’ message 说明:匹配从第1行到TS开头的行,把匹配的行删除。...在执行完脚本的最后一个命令之后,模式空间的内容自动输出。P命令经常出现在N命令之后和D命令之前。 D:删除模式空间中第一个换行符的内容。...sed -r ‘s/ +/\t/g’ /etc/passwd 实例8:把所有大写字母用括号()括起来。

    1.5K30

    Linux基础——正则表达式

    ^[A-Z][a-z]*3[0-5] 搜索以一个大写字母开头,后跟0个或多个小写字母,再跟数字3,再跟0—5之间的一个数字。...如果需要对同一文件或行作多次修改,可以使用"-e" 选项 ? 取得eth0 网卡 IP 地址: ? 2、删除行:d命令 从某文件中删除包含 "how" 的所有行 ?...nl 可以将输出的文件内容自动的加上行号如果只要删除第 2行,可以使用 nl/etc/passwd|sed '2d' 来达成,至于若是要删除第 3到最后一行, 则是 nl/etc/passwd |sed...,填充域,$0则表示所有域,$1表示第一个域,$n 表示第n个域,随后开始执行模式所对应的动作。...3、举例: 例 1:删除文件中的空行 这个脚本(脚本名为del.lines)可以处理一个或多个文件。每个文件在用sed删除空行之前要先核实是否存在。

    4.3K30

    sed工具

    )同样可以使用过 +号 sed -nr '/o{2}/'p test.txt 只匹配你要的部分数据 写法:sed -nr '/o{2}/' p 文件名字 ('/ /' 斜竖线中间表示匹配的内容 )同样可以使用过...’p -n test.txt 先生效第一个表达式,如果表达式 1 中的第一行有root,那么生效第二个表达式有 root 时 会再次生效第一行 所以会出现两行一模一样的数据。...sed -e ‘/bus/’Ip -n test.txt 加上字母大写的 I 就可以不区分大小写 sed -i ‘1,25’d test.txt 删除1至25行 i = 删除 d=只删除屏幕上的数据,但是文件本身并没有删除...写法 sed ‘ 范围+替换内容 ’ s = 替换 g =全局所有 需求把 深蓝色方框 替换成 浅蓝色方框 用冒号分割 首先找到 第一个冒号前面的数据 然后中间的数据使用 贪婪匹配 一直匹配到最后一个冒号...最后找到需要替换的数据 使用 \ 来进行调用 ^ = 非 * =所有 s =替换 head test.txt |sed ‘s/[a-zA-Z]//g’ 查看前十行并且删除数据中的所有 英文字母 直接在范围后面

    55940

    Linux:sed命令详解

    简介 sed 是非交互式的编辑器。它不会修改文件,除非使用 shell 重定向来保存结果。默认情况下,所有的输出行都被打印到屏幕上。 sed 编辑器逐行处理文件(或输入),并将结果发送到屏幕。...如果没有指定地址,sed 将处理输入文件的所有行。 地址是一个数字,则表示行号;是“$"符号,则表示最后一行。...范围可以用数字、正则表达式、或二者的组合表示。...My/,10d' datafile   #删除包含"My"的行到第十行的内容 3.命令与选项 sed 命令告诉 sed 如何处理由地址指定的各输入行,如果没有指定地址则处理所有的输入行。...匹配除换行符以外的单个字符 /m..y/  匹配包含字母 m,后跟两个任意字符,再跟字母 y 的行 * 匹配零个或多个前导字符 /my*/  匹配包含字母 m,后跟零个或多个 y 字母的行 [] 匹配指定字符组内的任一字符

    7.1K60

    Linux如何通过命令查看日志文件的某几行(中间几行或最后几行)「建议收藏」

    linux 如何显示一个文件的某几行(中间几行) 【一】从第3000行开始,显示1000行。...地址的形式可以是数字、正则表达式、或二者的结合。如果没有指定地址,sed将处理输入文件的所有行。 地址是一个数字,则表示行号;是“$”符号,则表示最后一行。...范围可以用数字、正则表达式、或二者的组合表示。...datafile #删除包含”My”的行到第十行的内容 3.命令与选项 sed命令告诉sed如何处理由地址指定的各输入行,如果没有指定地址则处理所有的输入行。...匹配除换行符以外的单个字符 /m..y/ 匹配包含字母m,后跟两个任意字符,再跟字母y的行 * 匹配零个或多个前导字符 /my*/ 匹配包含字母m,后跟零个或多个y字母的行 [] 匹配指定字符组内的任一字符

    9.8K60

    linux实战(一)

    地址的形式可以是数字、正则表达式、或二者的结合。如果没有指定地址,sed将处理输入文件的所有行。  地址是一个数字,则表示行号;是“$"符号,则表示最后一行。...实例 删除d命令 $ sed '2d' example 删除example文件的第二行。 $ sed '2,$d' example 删除example文件的第二行到末尾所有行。...$ sed '$d' example 删除example文件的最后一行。 $ sed '/test/'d example 删除example文件所有包含test的行。...$ sed -n '5,/^test/p' example 打印从第五行开始到第一个包含以test开始的行之间的所有行。...\> 匹配一个单词的末尾的空字符串,锚定末尾。 \w 匹配一个字母数字组成的单词。 \W 匹配一个非字母数字组成的单词。 \‘ 匹配字符串开头的一个空字符串。

    2.2K10

    shell脚本扩展「建议收藏」

    匹配小写字母a-z之一 [a-zA-Z] 匹配任意英文字母之一 [0-9a-zA-Z]匹配任意英文字母或数字之一 注意:上面标红色的单个和之一,不管[]里面多复杂,它的结果都是一个字符...^[A-Z][a-z]*3[0-5] 搜索以一个大写字母开头,后跟0个或多个小写字母,再跟数字3,再跟0—5之间的一个数字。...nl 可以将输出的文件内容自动的加上行号 如果只要删除第2行,可以使用nl /etc/passwd | sed ‘2d’ 来达成,至于若是要删除第 3 到最后一行,则是nl /etc/passwd |...,填充域,0则表示所有域,1表示第一个域, 思考题:如何打印所有记录(以/etc/passwd中的内容为例) 例4:搜索/etc/passwd有root关键字的所有行 这种是pattern(模式)的使用示例...每个文件在用sed删除空行之前要先核实是否存在。 sed的输出被导入一个文件名中含有 的临时文件,最后这个临时文件又被移回到原来的文件中。

    5.8K20

    linux18-详说linux文本处理(一)

    p # 直接将sed处理的行打印出来 s # 替换,语法为`s/old/new/[flags]`,将old 替换为new,默认替换匹配到的第一个old 字段,可以设置flags 为g 全局替换 y #...9 10 删除空白行 sed '/^$/d' test.txt 大小写替换 # 1. 把所有大写变小写: sed 's/[A-Z]/\l&/g' test.txt # 2....等等 [:digit:] 代表数字而已,亦即 0-9 [:graph:] 除了空白字节 (空白键与 [Tab] 按键) 外的其他所有按键 [:lower:] 代表小写字母,亦即 a-z [:print:..., a-f 的数字与字节 # grep默认是区分大小写的,这里将匹配所有的小写字母 $ echo -e '1234\nabcd' | grep '[a-z]' # 将匹配所有的数字 $ echo -e...-e '1234\nabcd' | grep '[[:lower:]]' # 将匹配所有的大写字母 $ echo -e '1234\nabcd' | grep '[[:upper:]]' # 将匹配所有的字母和数字

    50730

    linux学习第二十六篇:正则介绍,grep,sed,awk命令

    sed]# sed '1,19'd test.txt //删除第1到第19行,屏幕显示的是删除之后剩下的。...]# sed 's/[a-zA-Z]//g' test.txt //把所有的英文字母都删除 ::0:0::/:// ::1:1::/:// ::2:2::/:// ... .. ....删除test.txt中5到10行中所有的数字 ? 9. 删除test.txt 中所有特殊字符(除了数字以及大小写字母) ? 10....把每个单词的第一个小写字母变大写: sed ‘s/\b[a-z]/\u&/g’ filename 如果不加\b那么每个字母都会变成大写,\b就近匹配,比如\bAB 匹配A,AB\b 匹配B;但如果只写一个...\b或者在两个字母、数字、汉字、下划线之间有\b时就在所有字符或者两个字母、数字、汉字、下划线之间所有字符去逐个匹配 把所有小写变大写: sed ‘s/[a-z]/\u&/g’ filename 大写变小写

    4.1K60
    领券