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

推薦する

MySQL における := と = の違いをグラフィカルに紹介

:= と = の違い=設定および更新の場合にのみ、:= と同じ効果、つまり代入効果があり、それ以外の...

MySQL グリーン解凍バージョンのインストールと設定手順

手順: 1. MySQLデータベースをインストールする1. MySQL-5.6.17-winx64....

Ubuntu 20.04でAliソースを変更する方法

なお、この記事では、単に 20.04 ソースに変更する方法を説明するのではなく、20.04 に基づい...

Tomcat の文字化けしたコードとポート占有の解決方法について簡単に説明します

Tomcat サーバーは、無料でオープン ソースの Web アプリケーション サーバーです。軽量のア...

Vueを使用して天気コンポーネントをロードする方法の詳細な説明

この記事では、Vueを使用して天気コンポーネントをロードする方法を参考までに紹介します。具体的な内容...

MySQL 5.7.17 のインストールと設定方法のグラフィック チュートリアル (Windows)

1. ソフトウェアをダウンロードする1. MySQL の公式サイトにアクセスし、Oracle アカ...

フォーム要素の簡単な実装コードでは登録を例に挙げています

コード実装:コードをコピーコードは次のとおりです。 <!DOCTYPE html> &l...

MySQL無料インストール版を解凍した後にパスワードが見つからない問題を解決する方法

1. mysql-8.0.21-winx64を解凍する2. 環境変数を設定し、アドレスをbinフォル...

MySQL で重複レコードをクエリして削除する方法の完全なガイド

序文この記事では主に、MySQL で重複レコードをクエリして削除する方法を紹介します。参考と学習のた...

CSS3 で translate と transition を使用する方法

translate と transition は非常に強力で、習得するのは不可能だといつも感じていま...

Win7 の VMware 仮想マシンに Linux7.2 をインストールするインターネット アクセス構成チュートリアル

参考までに、win7システム上のVMware仮想マシンにlinux7.2インターネットアクセス構成を...

MySQL クエリ ステートメントのプロセスと EXPLAIN ステートメントの基本概念とその最適化

ウェブサイトやサービスのパフォーマンスは、データベースの設計(適切な言語開発フレームワークを選択した...

nginx が複数のプロキシ層を通過して実際の送信元 IP を取得するプロセスの詳細な説明

質問Nginx は $remote_addr を実際の IP アドレスとして受け取りますが、実際には...

IPとポートが接続可能かどうかを検出する方法

Windows コマンドテルネット形式: telnet IP ポート場合: テルネット 191.1....

Linux/Docker で System.Drawing.Common を使用する

序文プロジェクトを .net core に移行した後、 System.Drawing.Commonコ...