題 如何使用TextWrangler刪除包含單詞的所有行?


我有一個包含數千行的巨型文件,我想只刪除其中包含單詞“Foo”的行。

我該怎麼做呢?我在Mac上,所以我可以使用一些命令行實用程序,但我更喜歡使用TextWrangler。


4
2017-07-12 17:23


起源




答案:


大多數圖形程序員的編輯器不允許您刪除這樣的行,而只是更改其內容。這可以通過替換來完成 ^.*Foo.*$ 一無所有。

如果您願意尋求外部工具,那麼可以通過過濾來完成 sed "/Foo/d"


1
2017-07-12 17:30



我使用sed結束了,但是^ .Foo。* $可以使用TextWrangler。謝謝! - Zee
因此,sed將作為過濾器。 - Ignacio Vazquez-Abrams


在TextWrangler中: 文本 > 包含......的生產線


17
2018-05-31 02:25





使用正則表達式查找行,然後用空字符串替換它們。

這是一個解釋如何構造正則表達式的頁面:

http://www.regular-expressions.info/completelines.html

要在TextWrangler中執行此操作:

  1. 從搜索菜單中選擇查找。
  2. 檢查 grep的 複選框。
  3. 在“查找:”文本框中輸入正則表達式。
  4. 選擇Next。

1
2017-07-12 17:26





一個快速命令行是:

grep -v myword myfile > newfile

1
2017-07-13 02:41





如果您搜索和替換 ^.*Foo.*\r 什麼都沒有(啟用“使用Grep”),它將完全擺脫其中帶有“Foo”的行,而不僅僅是將它們刪除。唯一的限制是它不能在文件的最後一行上工作。 (更換 \r.*Foo.*$ 沒有什麼可以在最後一行工作,但不是第一行。)


0
2017-07-12 20:09





這個perl命令行就可以了!

perl -ni -e "print unless /Foo/" large_file.txt

你也可以做多個文件:

perl -ni -e "print unless /Foo/" *.txt

0
2017-08-22 14:18





Bare Bones TextWrangler http://www.barebones.com/products/textwrangler/

文字菜單 處理行包含...菜單項

輸入要刪除的文本 然後選擇刪除行

確認

Process Lines Containing


0
2017-09-10 00:55