Linux sed命令使用方法

原创 sauren  2019-08-14 10:13  阅读 470 views 次 评论 26 条

Linux sed 命令是利用脚本来处理文本文件。

sed 可依照脚本的指令来处理、编辑文本文件。

Sed 主要用来自动编辑一个或多个文件、简化对文件的反复操作、编写转换程序等。

参数
  • -e<script>或--expression=<script> 以选项中指定的script来处理输入的文本文件。
  • -f<script文件>或--file=<script文件> 以选项中指定的script文件来处理输入的文本文件。
  • -h或--help 显示帮助。
  • -n或--quiet或--silent 仅显示script处理后的结果。
  • -V或--version 显示版本信息。
动作说明
  • a :新增, a 的后面可以接字串,而这些字串会在新的一行出现(目前的下一行)~
  • c :取代, c 的后面可以接字串,这些字串可以取代 n1,n2 之间的行!
  • d :删除,因为是删除,所以 d 后面通常不接任何参数;
  • i :插入, i 的后面可以接字串,而这些字串会在新的一行出现(目前的上一行);
  • p :打印,亦即将某个选择的数据印出。通常 p 会与参数 sed -n 一起运行~
  • s :取代,可以直接进行取代的工作哩!通常这个 s 的动作可以搭配正规表示法!例如 1,20s/old/new/g 就是啦!

 

用例
sed -e 4a\newLine testfile 在testfile文件的第四行后添加一行,并将结果输出到标准输出(不会真正的修改文件) 
sed -n '2p' testfile 打印出testfile第二行内容 
sed -n '1,3p' testfile 打印出testfile第1-3行内容 
sed -n "/cc/p" testfile 打印出testifle含有cc关键词的行,注意//之间内容为匹配的关键词,p是print命令 
sed -n "/cc/,/cctg/p" testfile 打印出关键词cc和cctg之间的行,包含了关键词的两行。 
sed -i "s/cc/hello/g" 1.txt 将1.txt内的cc关键词全部替换为hello。s是取代,g是全部。 
nl 1.txt | sed -n '$p' 显示1.txt最后一行,并显示行号 
sed -i -e '1i happy' -e '$a new year' 1.txt 在1.txt第一行添加happy行,在最后一行添加new year行 
sed '1,4i hahaha' 1.txt 在1.txt第一到四行,每行下都添加hahaha

 

本文地址:https://www.sk15.net/archives/286.html
版权声明:本文为原创文章,版权归 sauren 所有,欢迎分享本文,转载请保留出处!
高性能云服务器特惠

发表评论


表情

  1. Tyronemox
    Tyronemox @回复

    Regards, Quite a lot of content!
    provigil

  2. ErnestLip
    ErnestLip @回复

    Cheers! Excellent information. propranolol

  3. Lesloardy
    Lesloardy @回复

    Viagra Per Impotenza Where Can I Buy Stendra Website Cialis Ce Que Priligy Generique

  4. Larrytus
    Larrytus @回复

    Fine information. Thanks a lot! How Long To Get Over Lisinopril Cough

  5. ErnestLip
    ErnestLip @回复

    You said it nicely.. baclofen 20 mg

  6. RichardDearp
    RichardDearp @回复

    You actually stated that terrifically. generic viagra

  7. Larrytus
    Larrytus @回复

    Many thanks. Good information. Generic Wellbutrin Sr Teva

  8. ErnestLip
    ErnestLip @回复

    Incredible a good deal of great tips. neurontin 300 mg

  9. Larrytus
    Larrytus @回复

    You suggested this superbly. gabapentin 100 mg

  10. RichardDearp
    RichardDearp @回复

    Kudos. Plenty of stuff!
    canadian pharmacy king

  11. Larrytus
    Larrytus @回复

    This is nicely put. . metformin hcl 500 mg

  12. RichardDearp
    RichardDearp @回复

    Reliable information. Regards! viagra substitutes that work

  13. RichardDearp
    RichardDearp @回复

    Fantastic facts. Thank you. cbd oil and blood pressure

  14. Larrytus
    Larrytus @回复

    Thanks, Fantastic stuff! bactrim f

  15. Larrytus
    Larrytus @回复

    Helpful posts. With thanks. Lisinopril And Hydrochlorothiazide No Prescription

  16. Larrytus
    Larrytus @回复

    Thanks a lot. Plenty of posts!
    Uti Bactrim

  17. Larrytus
    Larrytus @回复

    Good forum posts. Thanks. valacyclovir hcl 1 gram tablet

  18. Stevintota
    Stevintota @回复

    Osu Acheter Baclofen Dapoxetina Meccanismo Vendita Cialis Farmacie San Marino Cialis Cialis Generique Pharmacie En Ligne

  19. Lesloardy
    Lesloardy @回复

    Cialis Buy Online Metronidazole Over The Counter Doryx Where Can I Buy Medication Visa Accepted Buy Cialis Zithromax Chlamydia Eye Canadian Healthand Care Mall

  20. Larrytus
    Larrytus @回复

    Superb posts. Thank you. sertraline hcl

  21. Larrytus
    Larrytus @回复

    You said it perfectly.. keflex antibiotic

  22. Larrytus
    Larrytus @回复

    Kudos! I enjoy this! Tramadol Phenergan

  23. Larrytus
    Larrytus @回复

    Thanks! Quite a lot of forum posts.
    prednisone

  24. Lesloardy
    Lesloardy @回复

    Cialis Cardiopatici Viagra Dapoxetine Reviews tadalafil cialis from india Propecia Toxicity

  25. Larrytus
    Larrytus @回复

    Good stuff. Thank you! Uses For Lisinopril

  26. Larrytus
    Larrytus @回复

    Fine forum posts. Thanks a lot! drugs from canada online