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

一致するまですべてのファイルを表示しますか?

grep --before-context 5 試合前の5行を表示します。

試合前にすべてを表示したい。
grep --before-context 99999999を実行する うまくいくでしょうが、それはあまり…プロフェッショナルではありません。

一致するまでのすべてのファイルを表示するにはどうすればよいですか?

承認された回答:

そのためにはSedの方が適しています。

ただ:

sed '/PATTERN/q' FILE

これは次のように機能します:

各行について、/PATTERNと一致するかどうかを確認します :

  • はいの場合、印刷して終了します
  • それ以外の場合は、印刷します

PATTERNが表示されるとすぐに、これが最も効率的なソリューションです。 、終了します。 qなし 、sedはファイルの残りの部分を読み取り続け、それに対して何もしません。大きなファイルの場合、違いが生じる可能性があります。

このトリックは、headをエミュレートするためにも使用できます :

sed 10q FILE

Linux
  1. そのすべてがドットファイルにあります-YADMとHomeshick

  2. バッシュ‘?

  3. MvはFsでアトミックですか?

  1. Sed:最初の文字列を除く文字列のすべての出現を削除しますか?

  2. すべての端末出力をファイルに保存しますか?

  3. マイファイルをデフォルトページとして表示する方法

  1. ファイルの先頭にテキストを挿入する方法は?

  2. sed を使用してファイルの最後の n 行を削除する方法

  3. Linux sed コマンドでターゲット ファイルが変更されない