[英]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.