удалить первую строку файла, только если она пуста, используя sed

удалить первую строку файла, только если она пуста, используя sed

У меня есть решение этой проблемы awk:

awk '{if (NR==1 && NF==0) next};1' somefile

но не смог найти тот, который работал бы в sed. Например,

sed -i.bak '/^$/{1,1d;}' somefile

в итоге удалил первую найденную пустую строку (я не sedэксперт, поэтому просто пробовал). Преимущество sedв этом случае в том, что я смогу сделать это без временных файлов. т.е. на месте.

решение1

Попробуй это:

sed '1{/^$/d}' file

решение2

Альтернатива:

sed '0,/^$/d' файл

И в качестве смелого предположения, вы можете захотеть удалить все пустые строки перед первой строкой (содержащие любые символы), если это так, мы можем попробовать следующее:

sed файл '1,/^$/d'

Связанный контент