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

sed的用法详解

编辑指令’ 格式2:sed 选项 ‘编辑指令’ 文件 例:sed -n ‘/^id/p’ /etc/inittab 列出以id开头的行 常见的命令选项 -n:屏蔽默认输出(全部文本) -i:直接修改文件内容...‘/xml/d’ a.txt删除所有包含xml的行 sed ‘/xml/!...'/^$/' a.txt 删除重复空行 以上所有动作需要加 -i 替换文本 sed ‘s/xml/XML/’ a.txt 将每行的第一个xml替换为XML sed 's/xml/XML/3' a.txt...将每行的第3个xml替换为XML sed 's/xml/XML/g' a.txt 将所有的xml替换为XML sed ‘s/xml//g’ a.txt 将所有的xml都删除 sed 's/doc...a.txt 4.sed文本块的处理 sed文本块处理动作 i 行前插入文本:2iYY 在第二行之前插入文本行‘YY’ 4,7iYY 在第4-7行的每一行前添加文本 a 行后插入文本:2aYY 在第2

4.3K31

Shell笔记5:sed用法详解

编辑指令’ 格式2:sed 选项 ‘编辑指令’ 文件 例:sed -n ‘/^id/p’ /etc/inittab 列出以id开头的行 常见的命令选项 -n:屏蔽默认输出(全部文本) -i:直接修改文件内容...-5行 sed ‘/xml/d’ a.txt 删除所有包含xml的行 sed ‘/xml/!...'/^$/{n;/^$/d}' a.txt 删除重复空行 以上所有动作需要加 -i 替换文本 sed ‘s/xml/XML/’ a.txt 将每行的第一个xml替换为XML sed 's/xml/XML.../3' a.txt 将每行的第3个xml替换为XML sed 's/xml/XML/g' a.txt 将所有的xml替换为XML sed ‘s/xml//g’    a.txt 将所有的xml都删除 sed...sed -f test.sed  a.txt 4.sed文本块的处理 sed文本块处理动作 i 行前插入文本:2iYY 在第二行之前插入文本行‘YY’ 4,7iYY 在第4-7行的每一行前添加文本 a

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

    linux基础命令大全及使用方法

    通过建立RAID 0,原先顺序的数据请求被分散到所有的三块硬盘中同时执行。从理论上讲,三块硬盘的并行操作使同一时间内磁盘读写速度提升了3倍。...RAID1磁盘阵列显然是最可靠的一种阵列,因为它总是保持一份完整的数据备份。它的性能自然没有RAID0磁盘阵列那样好,但其数据读取确实较单一硬盘来的快,因为数据会从两块硬盘中较快的一块中读出。...优缺点: RAID1通过硬盘数据镜像实现数据的冗余,保护数据安全,在两块盘上产生互为备份的数据,当原始数据繁忙时,可直接从镜像备份中读取数据,因此RAID1可以提供读取性能。...前一个字符连续出现0次或1次 6.基础正则与扩展正则的区别 符号不同 支持命令的不同 BRE grep/sed/awk ERE egrep/grep-E/sed-r/awk 7....正则总结按照功能划分 基本 表示重复 连续重复 ^ 表示重复 连续出现 $ ^$空行 cat -A 取出文件中的空行或空格的行 . a{n,m} \ ?

    4.6K10

    生信人的自我修养:Linux 命令速查手册(全文引用)

    ll -t # 以文件的修改时间排序,最新修改的在最前面 ll -tr # 以文件的修改时间排序,最新修改的在最后面 watch -n 3 -dc ls -l # 追踪目录内容的变化...hello的行 grep -v '^\s*$' file # 删除空白行 sed sed 是 stream editor 的缩写,中文称之为“流编辑器”。...的行 sed -n '/pattern1/,/pattern2/p' file # 显示patter1与pattern2之间的行 sed '10d' file # 删除第10行 sed '10,20d...' file # 删除第10到20之间的行 sed '/pattern/d' # 删除匹配pattern的行 sed '/^\s*$/d' file # 删除空白行 sed 's/^\s*//'...file # 删除行前的空白:空格,制表符 sed 's/\s*$//' file # 删除行尾的空白:空格,制表符 sed 's/^\s*//;s/\s*$//' file # 删除行首和行尾的空白

    4K40

    生信人的自我修养:Linux 命令速查手册

    ll -t # 以文件的修改时间排序,最新修改的在最前面 ll -tr # 以文件的修改时间排序,最新修改的在最后面 watch -n 3 -dc ls -l # 追踪目录内容的变化...hello的行 grep -v '^\s*$' file # 删除空白行 sed sed 是 stream editor 的缩写,中文称之为“流编辑器”。...的行 sed -n '/pattern1/,/pattern2/p' file # 显示patter1与pattern2之间的行 sed '10d' file # 删除第10行 sed '10,20d...' file # 删除第10到20之间的行 sed '/pattern/d' # 删除匹配pattern的行 sed '/^\s*$/d' file # 删除空白行 sed 's/^\s*//'...file # 删除行前的空白:空格,制表符 sed 's/\s*$//' file # 删除行尾的空白:空格,制表符 sed 's/^\s*//;s/\s*$//' file # 删除行首和行尾的空白

    7.4K22

    如何将awk脚本移植到Python【Programming(Python)】

    我最喜欢的完美移植awk的现代编程语言是Python。 在将awk脚本移植到Python之前,通常值得考虑一下其原始上下文。...例如,由于awk的局限性,awk代码通常是从Bash脚本调用的,其中包括对其他命令行收藏夹(如sed,sort和gang)的一些调用。 最好将所有内容转换为一个一致的Python程序。...来构建遍历所有行并保持持久计数的迭代器 。...在Python中移植awk字段 作为一个示例,让我们将《如何用 awk 删除文件中的重复行》中的一行代码转换为 Python。 最初的 awk 是: awk '!...考虑原始上下文并产生高质量的Python解决方案。 虽然有时候使用awk的Bash单行代码可以完成工作,但是Python编码是通往更易于维护的代码的途径。

    1.4K01

    《Linux与unix Shell编程指南》 总结

    置位,文件属主具有读、写、执行权限,并且文件所属组的用户和其他用户具有读和执行的权限的文件,可以用: $ find ....at q命令具有相同的作用。 -r 清除作业。为了清除某个作业,还要提供相应的作业标识(ID);有些UNIX变体只接受atrm作为清除命令。 -m 作业完成后给用户发邮件。.../,/Montana/d' # 删除文件中相邻的重复行(模拟“uniq”) # 只保留重复行中的第一行,其他行删除 sed '$!...P; D' # 删除文件中的重复行,不管有无相邻。注意hold space所能支持的缓存 # 大小,或者使用GNU sed。...sed -n 'G; s/\n/&&/; /^[− ]∗\n[− ]∗\n.*\n\1/d; s/\n//; h; P' # 删除除重复行外的所有行(模拟“uniq -d”) sed '$!

    5.5K30

    linux实战(一)

    接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有 改变,除非你使用重定向存储输出。Sed主要用来自动编辑一个或多个文件;简化对文件的反复操作;编写转换程序等。...实例 删除d命令 $ sed '2d' example 删除example文件的第二行。 $ sed '2,$d' example 删除example文件的第二行到末尾所有行。...如例子所示,第一条命令删除1至5行,第二条命令用check替换test。命令的执行顺序对结果有影响。如果两个命令都是替换命令,那么第一个替换命令将影响第二个替换命令的结果。...保持和获取h命令和G命令 $ sed -e '/test/h' -e '$G example 在sed处理文件的时候,每一行都被保存在一个叫模式空间的临时缓冲区中,除非行被删除或者输出被取消,否则所有被处理的行都将打印在屏幕上...保持和互换h命令和x命令 $ sed -e '/test/h' -e '/check/x' example 互换模式空间和保持缓冲区的内容。也就是把包含test与check的行互换。

    2.2K10

    Linux三剑客之sed

    sed sed对文本的处理很强大,并且sed非常小,参数少,容易掌握,他的操作方式根awk有点像。sed按顺序逐行读取文件。...然后,它执行为该行指定的所有操作,并在完成请求的修改之后的内容显示出来,也可以存放到文件中。完成了一行上的所有操作之后,它读取文件的下一行,然后重复该过程直到它完成该文件。...在这里要注意一点,源文件(默认地)保持不被修改。sed 默认读取整个文件并对其中的每一行进行修改。说白了就是一行一行的操作。我用sed主要就是用里面的替换功能,真的很强大。...x:2:2:daemon:/sbin:/bin/false 例c,删除包括false的行,或者包括bash的行,别忘了加\ 1 $ sed -e '/\(false\|bash\)$/d' test 2...policykit:x:102:1005:Po 例d,删除从匹配root的行,到匹配以test开头的行,中间的行 1 $ sed -e '/root/,/^test/d' test 2 @zhangying

    84420

    文本三剑客

    :/bin/bash 10 operator:x:11:0:operator:/root:/sbin/nologin 数据的搜寻并删除 删除/etc/passwd所有包含root的行,其他行输出...,不然会继续找下去 数据的搜寻并替换 除了整行的处理模式之外, sed 还可以用行为单位进行部分数据的搜寻并取代 sed 's/要被取代的字串/新的字串/g' 查询 IP 原始信息 [root@localhost...*$//g'|sed -n '2p 多点编辑 一条sed命令,删除/etc/passwd第三行到末尾的数据,并把bash替换为blueshell [root@localhost ~]# nl /etc/...字符串比较:按照ascii码顺序比较。...~ 匹配,不匹配的条件语句 $1~/root/ 匹配第一个字段包含字符 root的所有记录 x{m}x{m,}x{m,n} x重复m次x重复至少m次x重复至少m次,但是不超过n次 /(root) {3}

    2.4K10

    ❤️肝下25万字的《决战Linux到精通》笔记,你的Linux水平将从入门到入魔❤️【建议收藏】

    写权限(w) :对于文件,具有修改文件内容的权限;对于目录,具有删除、移动目录内文件的权限。 可执行权限(x): 对于文件,具有执行文件的权限;对于目录,该用户具有进入目录的权限。...删除所有的xml类型的文件 rm -rf *.xml 删除/hadoop-bak目录和下面的所有文件 rm -rf /hadoop-bak 返回到/hadoop目录,查看一下README文件有多单词...python@ubuntu:~/test$ echo "axxbxxcxx" | sed 'y/abc/123/' 1xx2xx3xx hHgG模式空间&保持空间 h命令是将当前模式空间中内容覆盖至保持空间...3|sed 'H;g' 1 1 2 1 2 3 多次指定-e选项进行多点编辑 删除/etc/passwd第三行到末尾的数据,并把bash替换为blueshell: nl /etc/passwd |...5、依次执行各 BODY 块,pattern 部分匹配该行内容成功后,才会执行 awk-commands 的内容。 6、循环读取并执行各行直到文件结束,完成body块执行。

    2.3K10

    sed & awk 第二版学习(三)—— 编写 sed 脚本

    sed 首先将整个编辑脚本应用于第一个输入行,然后再读取第二个输入行并对其应用整个脚本。因为 sed 总是处理原始行的最新形式,所以生成的任何编辑工作都会改变后续命令的应用的行。...这个错误只是脚本命令中的顺序问题,技巧在于反转命令的顺序: s/cow/horse/ s/pig/cow/ 一些 sed 命令会改变整个脚本的流程,例如 N 命令将另一行读入模式空间但不删除当前行...其它一些命令告诉 sed,在到达脚本底部之前退出或者转到带标记的命令。sed 还维护了称为保持空间(hold space)的令一个临时缓冲区。可以将模式空间的内容复制到保持空间并在以后检索它们。...不仅删除 .TS/.TE 块中的空行,还在块中执行两个替换: /^\.TS/,/^\.TE/{ /^$/d s/^\.ps 10/.ps 8/ s/^\.vs 12/.vs 10/ } 三、测试并保存输出...提取文件内容 sed 应用程序的一种典型的用法是从文件中提取相关的材料,这一功能类似于 grep,而且它具有在输出之前修改输入的又一优点。

    7710

    技术栈系列基础篇7-linux常见命令

    ,格式为-I R,R可以为一个特殊的字符,起到替换参数的作用bash -c,使用bash解释命令'sed s/,omitempty// X > X.tmp && mv X{.tmp,}',将X参数文件内每行...格式:awk 'BEGIN{ commands } pattern{ commands } END{ commands }' filenamesBEGIN语句块在awk开始从输入流中读取行之前被执行,这是一个可选的语句块...END语句块在awk从输入流中读取完所有的行之后即被执行,比如打印所有行的分析结果这类信息汇总都是在END语句块中完成,它也是一个可选语句块。...pattern语句块中的通用命令是最重要的部分,它也是可选的。如果没有提供pattern语句块,则默认执行{ print },即打印每一个读取到的行,awk读取的每一行都会执行该语句块。...- bash -c “cmd string” // 通常使用shell去运行脚本,两种方法 bash xxx.sh,另外一种就是bash -c “cmd string”- sed 文件处理,例如 sed

    82820

    使用Jenkins进行自动构建

    如果姜同学的工作只是写写代码,push结束之后你的一个阶段工作也就结束了,但是这时候最新的代码还仅仅是保留在了git上,没有以应用的形式展现出来,无法体现你的工作展现你的价值。...so,以java代码为例姜同学还要使用最新的代码打个包,然后放到服务器上,停掉旧的应用,启动新的应用,假设一个集群有三个应用实例,滚动更新,上面的步骤姜同学还要在重复两遍。...最新版对jdk的要求一般都是最低11,所以我会选择其他支持jdk8的长期支持版本。 下载框起来的长期支持的最新版即可,如果你想下载其他版本就去点击箭头指向的以前的发行版。...你要是没装maven,可以试试我的一键安装脚本。 #!/bin/bash echo "检查maven是否安装......." mvn -v if [ $?...-3.6.3/conf/settings.xml << EOF <?

    1.2K10
    领券