sed的基本用法

    xiaoxiao2021-03-25  91

    基本sed编程举例:     使用p(rint)显示行: sed -n '2p' temp.txt   只显示第2行,使用选项n     打印范围:  sed -n '1,3p' temp.txt         打印第1行到第3行     打印模式:  sed -n '/movie/'p temp.txt     打印含movie的行     使用模式和行号查询:  sed -n '3,/movie/'p temp.txt   只在第3行查找movie并打印     显示整个文件:  sed -n '1,$'p temp.txt      $为最后一行     任意字符:  sed -n '/.*ing/'p temp.txt     注意是.*ing,而不是*ing     打印行号:  sed -e '/music/=' temp.txt     附加文本:(创建sed脚本文件)chmod u+x script.sed,运行时./script.sed temp.txt         #!/bin/sed -f         /name1/ a/             #a/表示此处换行添加文本         HERE ADD NEW LINE.     #添加的文本内容     插入文本/name1/ a/ 改成 4 i/ 4表示行号,i插入     修改文本: /name1/ a/ 改成 /name1/ c/ 将修改整行,c修改     删除文本: sed '1d' temp.txt  或者 sed '1,4d' temp.txt     替换文本: sed 's/source/OKSTR/' temp.txt     将source替换成OKSTR              sed 's//$//g' temp.txt             将文本中所有的$符号全部删除              sed 's/source/OKSTR/w temp2.txt' temp.txt 将替换后的记录写入文件temp2.txt     替换修改字符串: sed 's/source/"ADD BEFORE" &/p' temp.txt              结果将在source字符串前面加上"ADD BEFORE",这里的&表示找到的source字符并保存     sed结果写入到文件: sed '1,2 w temp2.txt' temp.txt                      sed '/name/ w temp2.txt' temp.txt     从文件中读文本: sed '/name/r temp2.txt' temp.txt     在每列最后加文本: sed 's/[0-9]*/& Pass/g' temp.txt     从shell向sed传值: echo $NAME | sed "s/go/$REP/g"   注意需要使用双引号

    快速一行命令:     's//.$//g'         删除以句点结尾行     '-e /abcd/d'       删除包含abcd的行     's/[][][]*/[]/g'   删除一个以上空格,用一个空格代替     's/^[][]*//g'      删除行首空格     's//.[][]*/[]/g'   删除句号后跟两个或更多的空格,用一个空格代替     '/^$/d'            删除空行     's/^.//g'          删除第一个字符,区别  's//.//g'删除所有的句点     's/COL/(.../)//g'  删除紧跟COL的后三个字母     's/^g'         删除路径中第一个/

    转载请注明原文地址: https://ju.6miu.com/read-21082.html

    最新回复(0)