1. 程式人生 > >刪除檔案中的空行和註釋行 linux shell

刪除檔案中的空行和註釋行 linux shell

刪除檔案中的空行和註釋行

//sed -e "s/#.*/ /g" test_file.conf | awk '{if (length !=0) print $0}'
更正為:sed -e "s/#.*//g" test_file.conf | awk '{if (length !=0) print $0}'

sed 命令檢查第一行是否以“#”字元開始,“.*”表示任意個字串。

* 匹配重複零次或多次前一字符 

. 匹配任意字元除換行符 

如果某行匹配要求的模式,sed不輸出結果,否則顯示該行。它的作用是顯示檔案的原始內容,除去任何註釋行(以#開頭的行)。

管道將sed的輸出傳送到awk,過濾長度為0的行,只顯示長度不為0的行,實現了刪除檔案中的空行和註釋行。

awk中的length是一個儲存了當前行的字元數的內部變數。