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' ファイル

関連情報