web-dev-qa-db-ja.com

Sublime-特定の値を含むすべての行を削除します

SublimeText 3で開くことができる900mbのログファイルがあります。このファイルは次のような行で肥大化しています。

10/08/2014 23:45:31:828,Information,,,,ExportManager: ,No records to send and/or not connected

No records to send and/or not connectedを含むすべての行を除外するにはどうすればよいですか

98
energ1ser

正規表現の検索と置換を実行できます。

[検索]> [置換]をクリックします。

[正規表現]ボタンが押されていることを確認します。

[検索対象]フィールドに以下を入力します。

^.*No records to send and/or not connected.*\n

[置換]フィールドは空のままにします。

すべて置換をクリックします

191
Jonathan Aquino

正規表現を書きたくない人のために-検索文字列を選択するか、ctrl+cmd+gを押すか、メニューから「すべてを検索」を選択すると、一致する各文字列の選択を取得できます。そこからHomeはすべての選択カーソルを行の先頭に移動し、shift+Endは一致するすべての行を選択し、del, delはそれらすべてを削除します。

複数カーソルの編集は楽しいです!

52
Leonid Shevtsov

私は正規表現を動作させることができなかったので、この答えからAlt-F3アプローチを使用しました:

https://superuser.com/questions/452189/how-can-i-filter-a-file-for-lines-taining-a-string-in-sublime-text-2/598999#598999

  1. Select対象の文字列
  2. ヒット Alt+F3 すべてのオカレンスでマルチカーソルモードに移行するには(Ctrl+CMD+G Mac OS Xの場合)
  3. ヒット Ctrl+L [コメントを見る](Cmd+L Macの場合)
  4. 選択範囲を別のバッファにコピーして貼り付けます
  5. Del
44
denfromufa

上記の提案された正規表現コードはどちらも私の場合は機能しませんでしたが、これは機能しました:

.*(text in question).*
20
Magnus

これは私がWindowsユーザーのために見つけたものです:

  1. 文字列を選択します(この文字列を含むすべての行が削除されます)。
  2. Alt + F3を押します。
  3. Ctrl + Lを押します。
  4. Deleteを押します。
17
Prashant Goel

上記の答えは正しい方法ですが、単一の文字列でも行を削除したい場合は、検索->置換-> ^.*[a-zA-Z]+.*\nを検索セクションに置き、空白で置換してください。 [すべて置換]ボタンをクリックすると、1つの文字列を含むすべての行が削除されます。

0
shubham mishra

サイトマップの編集で同様の問題が発生しました

これは私のために働いた:

  1. 削除する行の最後の単語をコピーします
  2. すべてを見つける
  3. 削除を押して行全体を削除します
0
Pete Varley