简述Linux文本处理命令“sed”
文本处理编辑命令sed sed是一种流编辑器,它是文本处理中非常中的工具,能够完美的配合正则表达式使用,功能不同凡响。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有 改变,除非你使用重定向存储输出。Sed主要用来自动编辑一个或多个文件;简化对文件的反复操作;编写转换程序等。 命令格式: sed [选项] ‘(截取的行)[动作]' 文件名 选项:-n:只把经过sed处理的行输出 截取行:(1)直接输入行号 (2)/正则表达式/ 动作:p 打印 eg: sed -n '(行)p' student.txt a 行后增加新的一行,i 行前增加新的一行 sed '1,5a =============' student.txt d 删除某行 sed '/正则/d' student.txt c 替换指定行 sed '2c canglaoshi bujigee' student.txt s 替换指定字符串(替换每行第一个);结尾g表示每一行所有 sed '/正则(定位行)/s/正则(旧)/abcd(新)/' student.txt 操作:{}多个命令组合,用;分开 sed '{1,20p;s/www/s/33/000//g}' & 取原字符 sed 's/abc/&def' student.txt (把abc换成abcdef) u 字符串首字母改成大写 sed 's/abc/u&/' student.txt (把abc改成Abc) l 字符串首字母改成小写 U 字符串所有字母改成大写 sed 's/abc/U&/' student.txt (把abc改成ABC) L 字符串所有字母改成小写 r 将某文件插入到另一文件的指定行中 sed '1r abc.txt' 123.txt (将abc.txt中的内容插入到123.txt文件的第1行) q 退出sed sed '/false/q' student.txt (找到一个false就退出sed) 总结 以上所述是小编给大家介绍的Linux文本处理命令“sed”,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对编程小技巧网站的支持! (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |