Linux でテキストを表示するためのヒント (非常に実用的!)

Linux でテキストを表示するためのヒント (非常に実用的!)

序文

日常の開発では、サーバー上でさまざまなテキストやログの表示操作を実行する必要があることがよくあります。この記事では、主によく使用されるテキストとログの表示スキルを要約してまとめ、後で表示して使用できるように収集できるようにします。

ログ情報を表示するtailコマンド

リアルタイム監視ログ:

tail -f ファイル名

10 行のログ情報をリアルタイムで監視:

tail -10f ファイル名

ログの最後にあるログ情報の最後の 100 行を表示します。

tail -n 100 ファイル名

100 行目以降のログ情報を表示します。

tail -n +100 ファイル名

テキスト情報を表示するためのheadコマンド

最初の 100 行のテキストを表示します。

head -n 100 ファイル名

最後の100行のテキストを表示する

head -n -100 ファイル名

テキスト情報を表示するcatコマンド

すべてのテキストコンテンツを表示

cat ファイル名

テキストの途中にある特定の行範囲の内容を表示します。たとえば、テキスト ファイルの 100 行目から 120 行目の内容を表示します。

cat -n ファイル名 |tail -n +100|head -n 20

ただし、個人的には、このコマンドを使用してテキストを検索して表示するのは、表示が面倒すぎるため好きではありません。記事の下に、より簡単なコマンド操作があります。

tacViewテキスト情報

これは cat コマンドと少し逆です。cat コマンドはテキストの内容を最初から最後まで表示しますが、tac コマンドはログの内容をテキストの最後から最初まで表示します。

tacファイル名

たとえば、cat コマンドと tac コマンドを使用して、同じコンテンツを同時に表示します。

異なるコマンドを使用してテキストを表示すると、テキスト コンテンツの順序が逆になることがわかります。

テキストコンテンツを検索

grep は、正規表現を使用してテキストを検索し、一致する行を出力できる強力なテキスト検索ツールです。

grep コマンドのよく使われる方法:

複数のファイルで検索:

grep "match_pattern" file_1 file_2 file_3 ...

マーカーマッチングカラー --color=auto オプション:

grep "match_pattern" ファイル名 --color=auto 

//[ここでのカラー項目は、ドキュメントの説明に応じて選択できます: always、never、auto]

-v オプションを除くすべての行を出力するには:

grep -v "match_pattern" ファイル名

正規表現 -E オプションを使用します。

grep -E "[1-9]+"

一致するコンテンツオプションのみを出力します:

grep -o -E "[az]+." 行

ファイルまたはテキスト内で一致する文字列を含む行数をカウントします -c オプション:

grep -c "テキスト" ファイル名

一致する文字列を含む行の数を出力します -n オプション:

grep "テキスト" -n ファイル名

grep コマンドが実現できる機能を理解すると、実際の作業で柔軟に使用できるようになります。

場合によっては、特定の期間のログ情報を表示する必要があることがあります。この場合、grep コマンドを使用してこの機能を実現できます。たとえば、2019 年 8 月 6 日の 22:00 から 1 時間以内のログ情報を表示する場合は、次のコマンドを入力します。

 grep '2019-08-06 22' ファイル名

これにより、表示したい情報の範囲をすばやく見つけることができます。

grep コマンドは標準入力データを受け取ることができるため、通常はパイプ コマンド シンボル "|" を使用して標準出力で検索操作を実行できます。

たとえば、次のコマンドに示すように、最初にファイルの内容を読み取り、次にコンテンツ フィルタリング用のパイプラインを使用してその内容を grep に転送します。

cat log.file |grep -n '2019-08-06 22:43'

grep コマンドを使用するだけでなく、sed コマンドを使用して対応する効果を実現することもできます。

sed は、ファイル (または入力) を行ごとに処理し、結果を画面に送信する非対話型エディターです。

初心者にとっては、概念を説明するよりも、実用的な例をいくつか挙げる方が直接的かもしれません。

sed コマンドのよく使われるメソッド:

ファイルの最初の行のみを印刷する

sed -n '1p' ファイル名

ファイルの1行目から10行目までの内容を表示します

sed -n '1,10p' ファイル名

テキストの最初の行を削除する

sed '1d' ファイル名

テキスト内の特定の文字列を置き換える

sed 's/目的のコンテンツ/置換されたコンテンツ/g'
例えば、sed 's/1/one /g' filenameは1をoneに置き換えます。

sed コマンドの基本的な使い方を理解した後は、実際の作業シナリオで何度も使用して、sed コマンドの理解を深めることができます。

たとえば、2019-08-06 22:43-22:44 間のログ レコードを表示するなど、日付範囲を指定するには、sed コマンドを使用します。

sed -n '/2019-08-06 22:43/,/2019-08-06 22:44/p' ファイル名

前述のように、ログファイルの特定のセクションを表示するには、head コマンドと tail コマンドを併用できますが、この操作は少し面倒です。sed コマンドを使用して操作を実行してみてください。

たとえば、ログの 1 行目から 20 行目までを確認します。

 nl ログファイル | sed -n '1,10p' 

ページをめくるにはmoreコマンドを使用します

表示するログ ファイルが大きすぎる場合は、more コマンドを使用してページ内を検索できます。たとえば、各ページに 10 個のデータ情報が表示されるように設定します。

ファイル名 -10 以上

more コマンドを使用すると、各ページに表示されているデータを表示でき、スペースバーを押すと次のページにジャンプできます。同時に、現在読んでいるテキストコンテンツの基本的な進行状況もウィンドウに表示されます。

ここまで説明してきたので、いくつかの操作シナリオをシミュレートしてみましょう。

キーワード「test」の最後の出現のログ記録を表示します。

 grep 'test' -A 10 log.file | tail -n 11

ここでは、grep コマンドのいくつかのパラメータの意味を理解する必要があります。

  • grep 'name' -A 10 は一致する内容とそれに続く10行を表示します。
  • grep 'name' -B 10 は一致する内容とその前の10行を表示します。
  • grep 'name' -C 10 は一致する内容とその前後10行を表示します。

tail -n 11 コマンドは、現在の 10 行と一致する行を表示します。

ログ内のキーワード「test」を含む行の数を数えるだけです

対応するコマンド:

grep 'テスト' ./log.file |wc -l

ここでは、まずテキスト コンテンツを標準出力に出力し、次にパイプを使用してデータ情報を wc コマンドに渡して統計情報を取得します。

wcコマンドのよく使われるパラメータ

-l 一致する行数
-w 一致する単語の数
-m 一致する文字数

Linux でテキスト情報を表示するテクニックは、この記事で紹介したものよりもはるかに多くあります。そのため、実際の作業では、作業効率の向上に役立つテクニックをさらにまとめ、まとめることもできます。

要約する

以上がこの記事の全内容です。この記事の内容が皆様の勉強や仕事に何らかの参考学習価値をもたらすことを願います。123WORDPRESS.COM をご愛顧いただき、誠にありがとうございます。

以下もご興味があるかもしれません:
  • 1日1シェルコマンド Linuxテキストコンテンツ操作シリーズ - awkコマンド詳細説明
  • 一日一シェルコマンド Linuxテキストコンテンツ操作シリーズ - cutコマンド詳細説明
  • Linux 正規表現を使用してファイル内のテキストを柔軟に検索する
  • 1日1シェルコマンド Linuxテキスト操作シリーズ - touchコマンドの使い方
  • 1日1シェルコマンド Linuxテキスト操作シリーズ - head、tailコマンド詳細説明
  • 1日1シェルコマンド Linuxテキスト操作シリーズ - diffコマンドの詳しい説明
  • 1日1シェルコマンド Linuxテキストコンテンツ操作シリーズ - grepコマンド詳細説明
  • Linuxでテキストエディタviを使用するための一般的なコマンド
  • LinuxテキストファイルとWINテキストファイルの改行形式変換コマンドの詳しい説明
  • 1日1シェルコマンド Linuxテキスト操作シリーズ - wcコマンドの詳しい説明

<<:  Vueのsync修飾子の詳細な説明

>>:  MySQL8 でパスワードを忘れた後にパスワードをリセットする方法 (MySQL の古い方法は機能しません)

推薦する

Vue の大容量ファイルアップロードとブレークポイント再開アップロードの実装

目次ファイルアップロードのための2つのソリューションファイルストリーム(フォームデータ)に基づくクラ...

VirtualBox で作成された Debian 仮想マシンは Windows ホストとファイルを共有します

用語: 1. VM: 仮想マシンステップ: 1. Windows 10 に VirtualBox 6...

MySQL スロークエリログの有効化と設定

導入MySQL スロー クエリ ログは、問題のある SQL ステートメントのトラブルシューティングや...

jQueryは要素を追加した後に元のイベントが実行されない問題を解決します

まずエラーコードを見てみましょう。 html: <テーブルボーダー="1"...

純粋なCSSでデジタルプラスとマイナスボタンを実装するための最適なソリューション

序文:デジタル加算ボタンと減算ボタンの実装には、次のような多くのソリューションがこれまでに使用されて...

MySQL 5.7 データベースのインストール手順の個人的な要約

1.mysql-5.7.19-winx64.zip(これは無料のインストールバージョンで、約318 ...

Vueは遅延読み込みによりページの応答速度を向上

目次概要遅延読み込みとは何ですか?最適化を開始するビジネスモジュールを分割する遅延読み込みルート構成...

Vueはコンピュータカメラを呼び出して写真機能を実現します

この記事の例では、コンピュータカメラを呼び出して写真機能を実現するためのvueの具体的なコードを参考...

シンプルなデータ応答システムを実装する

目次1. デップ2. 観察者を理解する3. 監視と観察者を理解する4. トリガーの依存性5. プロセ...

CSS スティッキーフッター実装コード

この記事では、CSS スティッキー フッターの実装コードを紹介し、共有します。詳細は次のとおりです。...

CSS変数を使用してスタイルを変更する方法の例

質問js を使用して CSS 疑似クラス スタイルを変更するにはどうすればよいでしょうか?しかし、j...

入力タイプ=ファイルスタイルを定義する方法

ファイルコントロールを美しくする理由は何ですか?他の子供たちはみんなきちんとしたきれいな服を着ている...

Vue は小数点付きの星評価を実装します

この記事では、小数点付きの星評価を実装するためのVueの具体的なコードを参考までに共有します。具体的...

更新とデータ整合性処理のためのMySQLトランザクション選択の説明

MySQL のトランザクションはデフォルトで自動的にコミットされます (autocommit = 1...

Nginx でバージョン番号を隠す方法

Nginx はバージョン番号を非表示にする実稼働環境では、セキュリティ上の脆弱性の漏洩を避けるために...