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

推薦する

Ubuntu 19.04 インストール チュートリアル (画像とテキストの手順)

1. 準備1.1 VMware 15 をダウンロードしてインストールするダウンロード リンク: h...

JavaScriptは両端キューを実装する

この記事の例では、両端キューを実装するためのJavaScriptの具体的なコードを参考までに共有して...

Linux での screen コマンドの使用方法の詳細な説明

GUNスクリーン:公式サイト: http://www.gnu.org/software/screen...

MySQLはbinlogを通じてデータを復元する

目次MySQL ログファイルバイナリログBinlogログがオンになっていますログ記録を有効にする方法...

LinuxにPHP7をインストールする方法の詳細な説明

Linux に PHP7 をインストールするにはどうすればいいですか? 1. 依存パッケージをインス...

Vue のドロップダウン ボックスのセカンダリ リンク効果を実装するためのサンプル コード

1. 成果を達成する 2. バックエンドから返されるデータ形式 「リスト」: [ { "i...

Ubuntu で時刻同期に NTP を使用する

NTP は、ネットワーク上で時間を同期するための TCP/IP プロトコルです。通常、クライアントは...

40以上の美しいWebフォームデザイン例

Web フォームは、訪問者と Web サイト所有者間の主要なコミュニケーション チャネルです。フィー...

HTMLはテキスト行のインターセプトの実装原理とコードを超えています

複数行を超えるテキストをインターセプトするための HTML コードは次のとおりです。 HTML:コー...

opensslを使用して無料の証明書を生成する方法

1: openssl とは何ですか? その機能は何ですか?適用シナリオは何ですか? Baidu 百科...

SASSで変数のデフォルト値を使用する方法

SASS で定義された変数では、後で設定された値によって古い値が上書きされます。 $色: 赤; $色...

JavaScript でよく使われるいくつかの文字列メソッドの概要 (初心者必読)

JavaScriptでよく使われるいくつかの文字列メソッド文字列は読み取り専用データです。よく使用...

JavaScript を使用してハイパーリンクのリダイレクトを防ぐ方法 (複数の書き方)

JavaScript を使用すると、ハイパーリンクがジャンプするのを防ぐことができます。方法は次の...

CSSコンテンツ属性の具体的な使用法

コンテンツ属性は通常、::before および ::after 疑似要素で使用され、疑似要素のコンテ...