正則表達式:刪除包含「幫助」等的行

我有一個很長的命令文件。 使用Notepad ++或regex,我想刪除全部包含「help」的行,包括keyboard_help等。 正則表達式

如何才能作到這一點? 編輯器


#1樓

在Notepad ++中執行此操做的另外一種方法是在「查找/替換」對話框中使用正則表達式: 工具

  • 按Ctrl + h以顯示查找替換對話框。 spa

  • Find what:文本框中包含正則表達式: .*help.*\\r?\\n (其中\\r .*help.*\\r?\\n是可選的,以防文件沒有Windows行結尾)。 命令行

  • Replace with:文本框保留爲空。 日誌

  • 確保選中「搜索模式」區域中的「正則表達式」單選按鈕。 而後單擊Replace All瞧! 包含搜索字詞help全部行都已刪除。 code

如何在N ++中替換行


#2樓

若是您使用的是Windows ,請嘗試使用findstr 。 不須要第三方工具: 內存

findstr /V /L "searchstring" inputfile.txt > outputfile.txt

它也支持正則表達式! 只需閱讀該工具的幫助findstr /?input

PS若是你想處理龐大的文件(好比400 MB的日誌文件),文本編輯器的內存效率就不高,所以,正若有人已經指出的那樣,命令行工具是可行的方法。 但Windows上沒有grep,因此...... string

我只是在1 GB的日誌文件上運行它,它花了3秒鐘。


#3樓

使用正則表達式搜索:

^.*(help).*$

#4樓

使用grep輕鬆完成任務:

grep -v help filename

追加> newFileName將輸出重定向到新文件。


更新

爲了澄清它,正常的行爲是在屏幕上打印線條。 要將其傳輸到文件,能夠使用> 。 所以,在此命令中:

grep -v help filename > newFileName
  1. 顯然grep調用grep程序
  2. -v是反轉輸出的標誌。 經過defaulf, grep打印出與給定模式匹配的行。 使用此標誌,它將打印與模式匹配的行。
  3. help是匹配的模式
  4. filename是輸入文件的名稱
  5. >將輸出重定向到如下項目
  6. newFileName保存輸出的新文件。

您可能已經注意到,您不會刪除文件中的內容。 grep將讀取它,另外一個文件將被保存,相應地進行修改。


#5樓

您能夠使用sed: sed '/help/ d' < inputFile > outputFile來完成此操做

相關文章
相關標籤/搜索