コマンドの長い文書があります。メモ帳+ +または正規表現を使用して、私はkeyboard_helpなどを含む "help"を含むすべての行を削除したい.
どうすればこれができますか?
これはNotepad ++でも可能です
"Mark"
タブを開きます。"Bookmark line"
を確認してください(現在のバージョンへの"Mark"
タブの更新がない場合)。
検索語を入力して"Mark All"
をクリックしてください。
今すぐメニューに移動します"Search -> Bookmark -> Remove Bookmarked lines"
完了しました。
Notepad ++でこれを行う別の方法は、すべて検索/置換ダイアログと正規表現を使用することです。
Ctrl + h 検索置換ダイアログを表示します。
Find what:
テキストボックスに正規表現を含めます:.*help.*\r?\n
(ファイルにWindowsの行末がない場合、\r
はオプションです)。
Replace with:
テキストボックスは空のままにします。
[検索モード]領域の[正規表現]ラジオボタンが選択されていることを確認します。次に[Replace All
]をクリックして、出来上がり!検索用語help
を含むすべての行が削除されました。
grep
による簡単な作業:
grep -v help filename
出力を新しいファイルにリダイレクトするには、> newFileName
を追加します。
それを明確にするために、通常の動作は画面に線を印刷することです。それをファイルにパイプするために、>
を使うことができます。したがって、このコマンドでは:
grep -v help filename > newFileName
grep
はgrep
プログラムを呼び出します。明らかに-v
は、出力を反転するためのフラグです。デフォルトでは、grep
は与えられたパターンに一致する行を表示します。このフラグを使用すると、パターンと一致しない行が表示されます。help
は照合するパターンですfilename
は入力ファイルの名前です>
は出力を次の項目にリダイレクトしますnewFileName
は出力が保存される新しいファイルです。お気づきかもしれませんが、ファイル内のものは削除されません。 grep
がそれを読み、別のファイルが保存され、それに応じて修正されます。
Sed:sed '/help/ d' < inputFile > outputFile
を使ってこれを行うことができます。
Windowsでしている場合は、findstr
を試してください。サードパーティ製のツールは必要ありません。
findstr /V /L "searchstring" inputfile.txt > outputfile.txt
正規表現もサポートしています!ツールのヘルプを読んでくださいfindstr /?
P.S大きくて巨大なファイル(400MBのログファイルなど)を使用したい場合は、テキストエディタのメモリ効率はそれほど高くありません。したがって、既に指摘したように、コマンドラインツールを使用することをお勧めします。しかし、ウィンドウズのgrepはないので、...
これを1GBのログファイルで実行したところ、文字通り3秒かかりました。
正規表現で検索する:
^.*(help).*$