GNU/Linux >> Linux の 問題 >  >> Linux

コメントされたすべての行またはvimで特定のパターンを持つ行を削除するにはどうすればよいですか?

最近、サーバーの1つで(メンテナンスアクティビティのために)多くのテキスト編集を行っていました。特定のパターンを持つすべての行、コメントされた行、含まれていないすべての行を削除して、ファイルのサイズを最適化する必要があります。特定のパターン。

たとえば、私のサーバーの1つに無効なユーザーアカウント(/ etc / passwdファイルのコメント行)がたくさんありました。vimを使用してこれらの無効なアカウント(コメントされたアカウント)をすべて削除する必要があります。これが私がしたことです:

注: これはコマンドモードで行う必要があります– ESCおよび:

コメントされたすべての行をファイルから削除する場合 、次に「#」で始まる行を削除する必要があります。

:g/#/d

(または)

:g/^\#/d

特定のパターンに一致する/含むすべての行を削除すると仮定します。 –その場合、コマンドは上記のコマンドと同様です。例:

:g/somepattern/d

特定のパターンを含まないすべての行を削除する場合 、コメントされたすべての行を残し、残りを削除すると言いましょう。以下のコマンドで「!」記号を探してください

:g!/#/d

上記のコマンドは、「#」で始まらないすべての行を削除します。または、以下のコマンドを使用することもできます。

: v/#/d

上記のコマンドでは、「g」の代わりに「v」を使用しており、「!」は必要ありません。


Linux
  1. Vimでファイルのすべての行を削除する方法

  2. Linuxコマンドラインで特定の拡張子を持つファイルを削除する方法

  3. すべての OS でコマンドを使用してパスワード Zip ファイルを設定する方法

  1. 同じ引数で別のコマンドを実行するにはどうすればよいですか?

  2. テキストなしですべての行をvim検索逆検索する方法

  3. 他のパッケージが依存していない DNF を持つすべてのパッケージを削除する方法

  1. Linuxで1つの特定のファイルを除いてフォルダ内のすべてのファイルを削除する方法

  2. バックスラッシュ文字で終わるすべての行を組み合わせるにはどうすればよいですか?

  3. ファイルを cat してコメント行を削除するにはどうすればよいですか?