簡體   English   中英

在 Linux 中將行從一個文件復制到另一個文件,不包括注釋

[英]Copy lines from one file to another in Linux excluding comments

如何在不打開源文件和目標文件的情況下在 Linux 中將行從一個文件復制到另一個文件,並且在復制行時需要排除注釋。

我不想復制第一個文件中的注釋並且文件位於不同的位置

假設在每一行的開頭用#注釋行,以下應該有效:

grep -v "^#" path/to/input/file >path/to/output/file

(注意:這將創建一個新的輸出文件,或者不可逆地覆蓋已經存在的輸出文件)

假設文件中的注釋行在每行的開頭包含# ,以下sed命令將刪除這些行:

$ sed '/^#/d' path/to/input-file > path/to/output-file

如果您的文件還可以包含在#之前帶有空格的行,則以下sed命令將刪除以零個或多個空格或制表符(以任何順序)開頭的行,后跟哈希 ( # ) 字符:

$ sed '/^[ \t]*#/d' path/to/input-file > path/to/output-file

如果您的文件還包含包含代碼后跟注釋的行,則應使用以下sed命令:

$ sed -e '/^[ \t]*#/d' -e 's/#.*$//' path/to/input-file > path/to/output-file

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM