実用的な基本的な 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 円グラフの例

推薦する

DockerでSpringbootプロジェクトを実行する方法

1. IDEAの下にあるターミナルをクリックし、mvn clean installと入力します。 次...

Linux 環境に MySQL 8.0 をインストールするプロセスの紹介

目次序文1. Linux は yum ソースを変更します (MYSQL のインストールが遅い場合は試...

SSM VUE Axios の詳細な説明

目次SQL ログを表示するにはどうすればいいですか? ? SpringMVC でのパラメータ渡しの説...

Tomcat で server.xml と content.xml を変更した後の自動復元の問題の解決方法

設定ファイルを server.xml と content.xml に書き込みます。サーバーを再起動す...

JS でカルーセル画像を実装するいくつかの方法

カルーセル主なアイデアは次のとおりです。大きなコンテナには、コンテナの幅の整数倍の非常に長いテーブル...

HTML マークアップ言語 - テーブルタグ

123WORDPRESS.COM HTML チュートリアル セクションに戻るには、ここをクリックして...

ページ内にマーキーとフラッシュが共存する場合の競合解決

競合の主な症状は、FLASH ボタンがジャンプし続け、不安定になり、Web ページの外観と通常のアク...

HTMLフロートの使用法の簡単な分析

float の使用例左サスペンション: float:left;右サスペンション: float:rig...

CSS3を使用してオンラインライブ放送に似たキューアニメーションを実装する方法

以前、グループの友人が質問しました。つまり、ミニプログラムでユーザーがオンラインになったときに、ライ...

一般的なCSS3アニメーションの実装方法

1. 何ですかCSS アニメーションは、CSS を使用して拡張マークアップ言語 (XML) 要素をア...

PostgreSQL正規表現の一般的な機能の概要

PostgreSQL正規表現の一般的な機能の概要正規表現は、複雑なデータ処理を必要とするプログラムに...

LinuxでMySQLのリモートアクセス権を有効にし、ファイアウォールでポート3306を開きます。

mysqlのリモートアクセス権を有効にするデフォルトでは、MySQL ユーザーにはリモート アクセ...

Linux 7.7 でスワップ パーティション SWAP を設定する方法

Linux システムの Swap パーティション、つまり swap パーティションは、一般に仮想メモ...

Clickhouse Docker クラスターの展開と構成を例を使って説明します

目次前面に書かれた環境の展開Zookeeper クラスタの展開Clickhouse クラスターの展開...

Dockerはローカルディレクトリとデータボリュームコンテナ操作をマウントします

1. DockerはローカルディレクトリをマウントしますDocker は、ホスト上のディレクトリをイ...