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 の古い方法は機能しません)

推薦する

CSS の position 属性の値に関する研究 (概要)

CSS の位​​置属性は要素の配置タイプを指定し、上、下、左、右を使用して要素を具体的に配置します...

Nginx リバース プロキシを使用してクロスドメイン問題を解決する方法の詳細な説明

質問前回のクロスドメイン リソース共有に関する記事では、ドメイン間で Cookie を送信する場合、...

uniAppエディタWeChatスライド問題について

ユニアプリアプレットはWeChatでも同様のドロップダウン問題を抱えることになる解決策は、app.v...

Nginx のアンチホットリンクを設定する方法

実験環境• 最小限のインストール済みの CentOS 7.3 仮想マシン• 構成: 1 コア/512...

CSS における @ の使用法の概要 (例と説明付き)

@ ルールは、CSS の実行または動作に関する指示を提供する宣言です。各宣言は @ で始まり、その...

CSSはコンテンツの高さが足りない場合にフッターを自動的に下部に固定します

UI カットのプロセスでは、ページはヘッダー、コンテンツ、フッターの 3 つの部分で構成されることが...

Ubuntu 19にTheanoをインストールする際の問題を解決する

解決: pythearn2 パッケージをダウンロードしたディレクトリで、setup.py ファイルを...

CSSのline-heightを継承する方法

Line-height はどのように継承されますか?30px などの特定の値を書き込むと、この値が継...

MySQL ユーザーと権限、およびルートパスワードをクラックする方法の例

MySQL ユーザーと権限MySQL には、MySQL と呼ばれるシステムに付属するデータベースがあ...

startup.bat をダブルクリックすると Tomcat がクラッシュする問題の解決方法の詳細な説明

Tomcat を学習したばかりのプログラマーにとって、これはよくある間違いです。 1. 環境変数の問...

ファイルアップロードスタイルの詳細を実装するjs

目次1. 概要2. オブジェクト作成のパラメータ3. 監視例4. 使用方法5. ソースコード1. 概...

Nginx サーバーが Systemd カスタム サービス プロセス分析を追加

1. nginxを例に挙げるyumコマンドを使用してNginxをインストールしましたSystemd ...

HTML に画像が存在しない場合にデフォルトの画像を表示する方法の例

画像リンク <img src="" /> jsを使用してURLが有効...

HTML テーブル マークアップ チュートリアル (9): セル間隔属性 CELLSPACING

テーブルがコンパクトになりすぎないように、テーブル内のセル間に一定の距離を設定できます。基本的な構文...

Dockerfileを使用してDockerイメージを構築する

目次Dockerfileを使用してDockerイメージを構築する1. Dockerfile とは何で...