Removing last blank line

前端 未结 5 1510
礼貌的吻别
礼貌的吻别 2021-02-12 14:50

There is a para break at the end of my .csv file. I tried to remove the blank line that is at the end of the file using the following command.

sed -i \'/^$/d\' c         


        
相关标签:
5条回答
  • 2021-02-12 15:02

    Found this ages ago somewhere and saved the snippet. Do not ask me how it works:

    perl -i -pe "chomp if eof" combined.csv
    
    0 讨论(0)
  • 2021-02-12 15:09

    If you know for sure that last line is empty, then just use: ...| head -n -1 | ...

    0 讨论(0)
  • 2021-02-12 15:10

    To remove blank lines you can use grep . or sed '/^$/d'

    It will remove any blank line in the file. I hope you file does not have any blank lines in the middle but this will work in your case.

    cat combined.csv | grep .

    or

    cat combined.csv | sed '/^$/d'

    0 讨论(0)
  • 2021-02-12 15:13

    Try ${/^$/d;} this will only match an empty line if it is the last line of the file.

    Update: for your second question, just remove the 1 before the s, i.e.: sed -i 's/^[^0-9]*//' combined.csv

    0 讨论(0)
  • 2021-02-12 15:21

    Try ${/^$/d;} this will only match an empty line if it is the last line of the file.

    I tried it with sed (GNU sed) 4.2.2 and got all blank lines deleted not only the empty line if it is the last line of the file.

    I found the following Command, that worked for myself that does the Job.

    sed -e :a -e '/^\n*$/{$d;N;ba' -e '}'
    

    This Command is from a Collection of useful SED-Oneliners: http://sed.sourceforge.net/sed1line.txt

    0 讨论(0)
提交回复
热议问题