How to use sed to remove the last n lines of a file

前端 未结 22 814
走了就别回头了
走了就别回头了 2020-11-28 18:12

I want to remove some n lines from the end of a file. Can this be done using sed?

For example, to remove lines from 2 to 4, I can use

$ sed          


        
22条回答
  •  庸人自扰
    2020-11-28 18:39

    It can be done in 3 steps:

    a) Count the number of lines in the file you want to edit:

     n=`cat myfile |wc -l`
    

    b) Subtract from that number the number of lines to delete:

     x=$((n-3))
    

    c) Tell sed to delete from that line number ($x) to the end:

     sed "$x,\$d" myfile
    

提交回复
热议问题