実用的な基本的な Linux sed コマンドのサンプルコード

実用的な基本的な Linux sed コマンドのサンプルコード

要約する

上記は、編集者が紹介した実用的な基本的な Linux sed コマンドのサンプルコードです。皆様のお役に立てれば幸いです。ご質問がある場合は、メッセージを残してください。編集者がすぐに返信します。また、123WORDPRESS.COM ウェブサイトをサポートしてくださっている皆様にも感謝申し上げます。

以下もご興味があるかもしれません:
  • sed コマンドを使用して文字列を置換する Linux チュートリアル
  • Linuxでkv設定ファイルを変更するにはsedコマンドを使用します
  • Linux での sed コマンドと awk コマンドの使用に関する簡単な説明
  • Linuxのテキスト処理コマンド「sed」について簡単に説明します
  • Linuxでよく使われるsedコマンド
  • Linux sed コマンドの詳細な説明 (推奨)
  • Linuxにおけるsedコマンドの使い方と注意点のまとめ
  • 1日1シェルコマンド Linuxテキストコンテンツ操作シリーズ - sedコマンド詳細説明
  • Linux での sed コマンドの使用
  • Linux sedコマンドの使用

Linux ストリーム エディターは、データ センターでスクリプトを実行するのに便利な方法です。これらのコマンド例を使用すると、sed に慣れることができます。

元のファイルを上書きせずにファイルを変更したい Linux 管理者には多くのオプションがありますが、最も効果的なツールの 1 つはストリーム エディターの sed です。

ストリーム エディターは、ほとんどの Linux ディストリビューションのデフォルトの部分です。 Linux sed コマンドを使用して、オペレーティング システムでテキスト ファイル操作を実行できるようになります。

ほとんどの Linux アプリケーションと同様に、sed はパイプ入力を処理できるため、効果的なスクリプト ツールになります。次のコマンド例に示すように、これを基本的な検索および置換ツールとして使用できます。このコマンドは、a の 1 つの出現を検索し、それを 2 つのインスタンスに置き換えます。コマンドは /g で終わります。

sed 's/one/two/g' linuxidc linuxmi 

たとえば、この Linux sed コマンドは、構成ファイルの新しいバージョンを見つけて作成するのに役立ちます。これらの関数をスクリプトの一部として実行すると、繰り返し実行可能で一貫性が保たれ、変更を迅速に実装できます。

しかし、sed の主な目的はテキスト ファイルの内容を変更することです。いくつかの重要なコマンド ライン スイッチを使用します。 /s は検索を意味し、コマンドは /g で区切られます。 -i スイッチはコマンドをその場で実行し、ファイルを直接変更します。

sed -i 's/ポート22/ポート10000/g' /etc/ssh/sshd_config 

この例では、/etc/ssh/sshd_config ファイル内の Secure Shell サーバーで使用されるポート番号が、デフォルトのポート 22 からポート 10000 に変更されます。

Linux sedコマンドを使用してファイルを変更する

sed を使用してファイルを編集することは可能ですが、少し満足のいくものではありません。 sed は完全なソース コードにアクセスできず、エラーやタイプミスを識別できないため、アドホック編集によって問題が発生する可能性があります。 また、元のコードを変更すると、それを回復する方法がないため、元のファイルが危険にさらされることになります。

-e スイッチを使用して、一度に複数の変更を指定できます。 繰り返しになりますが、sshd_config.conf ファイルを使用すると、複数の行を簡単に変更できます。 以下のスクリプトは複雑に見えるかもしれませんが、オペレーティング システムは、それぞれに -e というプレフィックスが付いた sed 変更の複数のパケットを単に渡しているだけです。

sshd_config ファイルを使用すると、ポート番号を変更し、パスワード認証を無効にし、公開キー認証を有効にする操作を 1 つの手順で実行できます。

sed -i -e 's/ポート22/ポート10000/g' -e '
s/PermitRootLogin yes/PermitRootLogin no/g' -e '
s/パスワード認証 yes/パスワード認証 no/g' -e '
s/#PasswordAuthentication no/#PasswordAuthentication no/g' /etc/ssh/sshd_config 

検索および置換機能は新しい行にあります。sed は \ を特殊文字として扱うため、コマンドを \ で分割することはできません。

sed でのプロンプトの結合

複数の Linux sed コマンドを連結して、アプリケーションの場所を変更することもできます。 ファイル パスを手動で変更するとエラーが発生する可能性が高くなりますが、自動化すると作業が楽になります。

区切り文字として使用されるバックスラッシュは一部のスクリプトでは機能しない場合がありますが、sed では区切り文字を変更できます。 たとえば、次の内容の example.conf というログ ファイルがあるとします。

ログパス = /var/log/mylogfile.log

このパスを/my/alternate/path/newlog.logに変更します。/ はファイル システム パスでは機能しないため、区切り文字として | を使用できます。

sed -i 's|/var/log/mylogfile.log|/my/alternate/path/newlog.log|g' example.conf

Linux sed コマンドを使用する他の方法としては、検索パターンの前に ^#MyComment を付ける方法があります。これにより、#MyComment で始まる行が検索されます。 これを出力側で使用すると、既存の行を置き換える新しい行が作成されます。 $ 文字を使用して行末のコンテンツを検索することもできます。

より高度な例を見るには、man sed コマンドを使用します。 コマンドと構文のより詳細な内訳を提供します。

<<:  Mysql の遅いクエリ操作の概要

>>:  JavaScript 円グラフの例

推薦する

EF (Entity Framework) の挿入または更新データ エラーの解決方法

エラー メッセージ:ストアの更新、挿入、または削除ステートメントが予期しない行数 (0) に影響を与...

SpringBoot のパッケージ化と Docker へのアップロード、およびマルチインスタンス デプロイメントの実装に関する簡単な分析 (IDEA バージョン)

最近友人からDockerを触ったことがあるかと聞かれました。あまり自信がなかったので答えられませんで...

JavaScriptはシンプルな計算機能を実装します

この記事では、参考までに、簡単な計算機を実装するためのJavaScriptの具体的なコードを紹介しま...

デュアル VIP を使用した高可用性 MySQL クラスタの構築

目次1. プロジェクトの説明: 2. プロジェクト環境: 2. プロジェクトの手順: 3. プロジェ...

Vueはシンプルなデータ双方向バインディングを実装します

この記事では、Vueの具体的なコード例を参考までに紹介します。具体的な内容は以下のとおりです。初心者...

Linux touch コマンドの使用例

Linux touch コマンドの詳細な説明: 1. コマンド機能:ファイルまたはディレクトリの作成...

js キャンバスはランダムなパーティクル効果を実現します

この記事の例では、参考のためにjsキャンバスランダムパーティクルエフェクトの具体的なコードを共有して...

SELinux 入門

カーネル 2.6 の時代には、アクセス制御セキュリティ ポリシーのメカニズムを提供するために新しいセ...

MySQL の制限パフォーマンス分析と最適化

1. 結論構文: 制限オフセット、行結論: 同じ行条件では、オフセット値が大きいほど、limitステ...

Navicat Premier の MySQL へのリモート接続エラー 10038 の解決方法

MySQL へのリモート接続が失敗する場合は、次の理由が考えられます。 1. 若い男性/女性の方は、...

imgタグ間のスペースの問題の詳細な説明

IMG タグの基本分析 HTML5 では、img タグには 4 つの要素があります。 (1) src...

SpringBoot + Vue プロジェクトを Linux サーバーにデプロイするための詳細なチュートリアル

序文SpringBoot + Vueのフロントエンドとバックエンドを分離したプロジェクトをどのように...

VMware vSphere 6.5 インストール チュートリアル (画像とテキスト)

vmware vSphere 6.5 は vSphere ソフトウェアのクラシック バージョンであ...

Windows10にMySQL5.6.35データベースを2つインストールする

次のように、Win10 での 2 つの MySQL5.6.35 データベースのインストールを記録しま...

MySQLインデックスベースのストレステストの実装

1. データベースデータをシミュレートする1-1 データベースとテーブルスクリプトを作成する - v...