web-dev-qa-db-ja.com

sedを使用して空白の場合にのみファイルの最初の行を削除します

awkにこれに対する解決策があります:

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

しかし、sedで機能するものを見つけることができませんでした。例えば。、

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

見つかった最初の空白行を削除することになりました(私はsedの専門家ではないので、試してみました)。この場合のsedの利点は、一時ファイルなしでこれを実行できることです。つまり、所定の位置にあります。

6
Levon

これを試してください:

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

別の方法:

sed '0、/ ^ $/d'ファイル

大胆な推測として、最初の行(文字を含む)の前のすべての空白行を削除することをお勧めします。その場合は、以下を試すことができます。

sed '1、/ ^ $/d'ファイル

1
Derui Si