総まとめ:Linux sedの複数行処理を詳しく解説
通常の状況では、sed は処理対象の行をパターン空間に読み取り、スクリプト内のコマンドはスクリプトが実行されるまでその行を次々に処理し、その後行が出力されてパターン空間は空のままになります。次に、前の操作を繰り返し、ファイルが完全に処理されるまでファイル内の新しい行が読み取られます。ただし、ユーザーがスクリプト内の特定のコマンドを特定の条件で実行したい場合や、パターン空間を次の処理のために保持しておきたい場合など、さまざまな理由により、sed がファイルの処理時に指示に従わない場合があります。通常のプロセス。現時点では、sed はユーザーの要件を満たすためにいくつかの高度なコマンドをセットアップしています。 sed の高度なコマンドを学習したい場合は、まず次の 2 つのバッファ領域を理解する必要があります。
1. パターン空間の定義: パターン空間は、sed が入力端から読み取った内容を保存するバッファー領域です。
2. ホールド スペースの定義: ホールド スペースは、パターン スペース データを処理するときにデータを一時的にキャッシュするために使用されます。
g: ホールドスペースの内容をパターンスペースにコピーし、元のパターンスペースの内容をクリアします
G: ホールド スペースのコンテンツをパターン スペースに追加します\n
h: パターンスペースの内容をホールドスペースにコピーし、元のホールドスペースの内容はクリアされます
H: スペースを保持するためにパターン スペースにコンテンツを追加します\n
x: パターンスペースとホールドスペースの内容を交換します
リーリー
次のコマンドを実行します:リーリー
上記の実行プロセスを徐々に理解していきましょう1. 次の 3 つのコマンドを分析してみましょう:
- 2,$G: Gコマンドを2行目から最終行まで実行します
- h: hコマンドを実行
- $!d: 最後の行を除くすべての行を削除します
- 最初の行までスキャン
-
- パターン スペースに 1 行を挿入します。この時点ではパターン スペースはまだ 1 行です。
- h コマンドを直接実行すると、この時点での一時記憶領域は 1 行になります。
- d コマンドを実行して、パターン スペース内のデータを 1 行だけ削除します。削除後のパターン スペースは空になります。
- パターンスペースに2行を配置します
- G コマンドを実行して、パターン スペースの 2 行の後ろに一時記憶スペースの 1 行を追加します。このとき、パターン スペースは 2 行です\n1-line;
- h コマンドを実行すると、一時記憶領域の内容は 2 行\n1 行;
- dコマンドを実行するとパターンスペースがクリアされます
- パターンスペースに3行を入れます、
- G コマンドを実行して、パターン スペースの 3 行の後ろに一時スペースの 2 行\n1 行を追加します。このとき、パターン スペースは 3 行\n2 行\になりますn1 行;
- h コマンドを実行すると、一時記憶領域の内容は 3 行\n2 行\n1 行;
- $!d を実行しないでください;
- もちろん、コマンド sed '1!G;h;$!d' tmp にもこの効果があります。
以上が総まとめ:Linux sedの複数行処理を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









Linuxコマンドラインインターフェイスは、豊富なテキスト処理ツールを提供します。最も強力なツールの1つはSEDコマンドです。 SEDは、テキストファイルとストリームの複雑な処理を可能にする多機能ツールであるStream Editorの略語です。 SEDとは何ですか? SEDは、パイプライン入力またはテキストファイルで動作する非対話的なテキストエディターです。ディレクティブを提供することにより、ファイルまたはストリームでテキストを変更および処理することができます。 SEDの最も一般的なユースケースには、テキストの選択、テキストの交換、元のファイルの変更、テキストへの行の追加、またはテキストから行の削除が含まれます。 Bashおよびその他のコマンドラインシェルのコマンドラインから使用できます。 SEDコマンド構文 sed

Linuxでファイルとフォルダーを効率的にカウントする:包括的なガイド Linuxでファイルやディレクトリを迅速にカウントする方法を知ることは、システム管理者や大規模なデータセットを管理している人にとっては重要です。このガイドは、単純なコマンド-Lを使用して示しています

Linux/UNIXシステム管理には、ユーザーアカウントとグループメンバーシップを効率的に管理することが重要です。 これにより、適切なリソースとデータアクセス制御が保証されます。 このチュートリアルでは、LinuxおよびUNIXシステムの複数のグループにユーザーを追加する方法を詳しく説明しています。 私たちは

Linuxカーネルは、GNU/Linuxオペレーティングシステムのコアコンポーネントです。 1991年にLinus Torvaldsによって開発されたこのため、無料のオープンソース、モノリシック、モジュール式、マルチタスクUnixのようなカーネルです。 Linuxでは、歌に複数のカーネルをインストールすることが可能です

導入 コマンドラインがしばしばナビゲートするコンパスであるLinuxの領域では、ディスクスペースの効率的な管理が非常に重要です。個人的なプロジェクトを航海しているのか、船を操縦しているのか

この簡単なガイドでは、Linuxオペレーティングシステムでインドルピーシンボルを入力する方法について説明します。先日、Word文書に「Indian Rupee Symbol(£)」を入力したかったのです。私のキーボードにはルピーシンボルがありますが、入力する方法がわかりません。後

Linus Torvaldsは、Linux Kernel 6.14リリース候補6(RC6)をリリースし、重要な問題を報告せず、リリースを順調に進めています。このアップデートで最も注目すべき変更は、AMDマイクロコード署名の問題に対応していますが、残りの更新は

Linuxシステムに8つの最高のSSHクライアントを推奨しました SSH(Secure Shell Protocol)は、不安定なネットワークでネットワークサービスを安全に実行するために使用される暗号化されたネットワークプロトコルです。これは、最新のサーバー管理の重要な部分であり、システムへの安全なリモートアクセスを提供します。 SSHクライアント(SSHプロトコルを利用するアプリケーション)は、システム管理者、開発者、ITプロフェッショナルにとって不可欠なツールです。 Linuxの世界ではリモートサーバー管理が一般的であり、適切なSSHクライアントを選択することが重要です。この記事では、Linuxの8つの最高のSSHクライアントについて説明します。 選択基準 Linuxに最適なSSHクライアントを選択する場合、次の要因を考慮する必要があります。 パフォーマンス:SSHクライアントの速度と効率
