Linux

如何“cat”文件並刪除註釋行?

  • April 5, 2022

我想知道是否有一種方法可以cat歸檔php.ini並刪除以開頭的所有行;

例如,如果文件包含以下內容:

;   - Show all errors, except for notices
;
;error_reporting = E_ALL & ~E_NOTICE
;
;   - Show only errors
;
;error_reporting = E_COMPILE_ERROR|E_ERROR|E_CORE_ERROR
;
;   - Show all errors except for notices
;
error_reporting  =  E_ALL & ~E_NOTICE

我執行了正確的命令cat | {remove comments command},然後我會得到:

error_reporting  =  E_ALL & ~E_NOTICE

注意- 我認為這cat將是做到這一點的最佳方法,但我實際上對使用另一個實用程序(如awksedegrep等)的答案很好。

您可以使用:

sed -e '/^;/d' php.ini

您不需要通過 grep 管道傳輸文件,grep 將文件名作為命令行參數。

grep -v '^#' file1 file2 file3

將列印除以 # 字元開頭的所有行。您可以將評論字元更改為您想要的任何內容。

如果您有多個評論字元(假設它在一行的開頭)

egrep -v '^(;|#|//)' filelist

引用自:https://unix.stackexchange.com/questions/26235