僅當使用 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' 文件

相關內容