これらの10のSedの例は、Linuxパワーユーザーになります

これらの10のSedの例は、Linuxパワーユーザーになります

Linuxマシンを管理する人にとって、テキストファイルと端末出力の編集は日常業務です。 sedのようなコマンドラインユーティリティを使用すると、ユーザーはターミナルウィンドウから直接テキストファイルの内容を変更および変更できます。





この記事では、Linuxでのsedユーティリティの能力を示すいくつかの重要な例とともに、sedコマンドについて詳しく説明します。





sedコマンドとは何ですか?

sedコマンド。これはの頭字語です。 ストリームエディタ は、Linuxユーザーがファイルおよび端末出力に対してテキストベースの操作を実行できるようにするコマンドラインツールです。 sedを使用すると、ユーザーはテキスト内の特定の単語を検索して置換したり、出力の特定のセクションを表示したり、テキストファイルを開かずに編集したりできます。





sedコマンドでサポートされる3つの基本操作は次のとおりです。

  1. 挿入
  2. 消す
  3. 置換(検索して置換)

上級ユーザーは、sedコマンドを使用して正規表現を実装し、テキストストリームをより効率的に編集することもできます。



コマンドの基本的な構文は次のとおりです。

sed [options] [pattern] [filepath]

...どこ オプション コマンドのさまざまな機能は、 パターン 一致させたい正規表現またはスクリプトであり、 ファイルパス テキストを含むテキストファイルへのパスです。





スナップチャットで親友を隠す方法

Linuxsedコマンドの10の例

通常のLinuxユーザーになることを計画している場合は、ファイルの編集方法、特定の単語の検索と置換方法、および端末出力のフィルタリング方法を知っていると便利です。このセクションでは、間違いなくLinuxパワーユーザーになるsedコマンドの例をいくつか取り上げます。

投稿のデモンストレーションには、次のテキストファイルを使用します。





This is a demo text file.
It is an amazing file that will help us all.
The sed command is also great for stream editing.
Want to learn how to use the command?
This is another line in the file.
This is the third general line in the file.
This file is named as textfile.
This is a apple.
This is a orange.

1.行の範囲を表示する

ヘッドやテールなどのLinuxコマンドは、テキストファイルの最初または最後の10行を出力します。しかし、ファイル内の2つの特定の行の間にコンテンツを取得したい場合はどうでしょうか。このような状況では、sedコマンドが役立つ場合があります。

ファイルの3行目と5行目の間にコンテンツを出力するには textfile.txt

sed -n '3,5p' textfile.txt

NS -NS フラグは、sedが各サイクルの終了時にパターンスペースを表示しないようにします。また、使用することができます - 静かな - 静けさ 代わりにオプション -NS 。 NS NS 引数は 印刷 一致した行をユーザーに表示するために使用されます。

サンプルファイルで前述のコマンドを実行すると、次の出力が生成されます。

The sed command is also great for stream editing.
Want to learn how to use the command?
This is another line in the file.

指定した範囲を除くファイルの内容全体を出力するには、 NS 代わりにフラグ NS コマンド内:

sed '3,5d' textfile.txt

NS NS フラグは、一致した文字列を出力から削除し、残りのコンテンツを表示します。

This is a demo text file.
It is an amazing file that will help us all.
This is the third general line in the file.
This file is named as textfile.
This is a apple.
This is a orange.

2.連続していない行を表示する

ファイル内の複数の範囲の間に連続していない行を印刷するには、次のようにします。

sed -n -e '1,2p' -e '5,6p' textfile.txt

出力:

This is a demo text file.
It is an amazing file that will help us all.
This is another line in the file.
This is the third general line in the file.

NS -と フラグは 実行中 1つのコマンドを使用した複数のアクション。

3.行の間にスペースを挿入します

何らかの理由でテキストファイルの各行の間に空の行を挿入する場合は、 NS デフォルトのsedコマンドを使用した引数。

Windows MediaPlayerで字幕を追加する方法
sed G textfile.txt

出力に複数の空の行を挿入するには、複数を渡します NS で区切られた引数 セミコロン (( ; ) キャラクター。

sed 'G;G' textfile.txt

4.テキストファイル内の単語を置き換える

特定の単語が出現するたびに他の単語に置き換える場合は、 NSNS コマンドを使用した引数。 sedコマンドを使用して単語を置き換えるための基本的な構文は次のとおりです。

sed s/originalword/replaceword/g filename

上記の構文を使用して、単語を置き換えることができます すばらしい素晴らしい ファイル内 textfile.txt

sed s/amazing/super/g textfile.txt

NS NS 引数は 置換 そしてその NS コマンドは、一致したコンテンツを指定された置換コンテンツに置き換えるために使用されます。

単語の2番目の出現箇所をsedに置き換えるには、番号をに渡します。 NS 口論。この場合:

sed s/amazing/super/g2 textfile.txt

単語を置き換えるときに文字の大文字と小文字を無視する場合は、 与える それ以外の NS 、 どこ を意味する 無視 場合。

sed s/Amazing/super/gi textfile.txt

関連している: Viを使用していますか?ファイルを開いて保存して終了する方法は次のとおりです

5.範囲内の単語を置き換える

特定の範囲内の単語を置き換えることもできます。

sed '2,5s/amazing/super/g' textfile.txt

6.一度に複数の置換を実行します

一度に2つ以上の置換を実行する場合は、コマンドを セミコロン (( ; ) キャラクター。

sed 's/amazing/super/g;s/command/utility/gi' textfile.txt

システムは次の出力を表示します。

This is a demo text file.
It is an super file that will help us all.
The sed utility is also great for stream editing.
Want to learn how to use the utility?
This is another line in the file.
This is the third general line in the file.
This file is named as textfile.
This is a apple.
This is a orange.

7.一致するものが見つかった場合にのみ単語を置き換える

sedコマンドを使用して、特定の一致が行に見つかった場合にのみ単語を置き換えることもできます。たとえば、単語を置き換えるには NS 単語の場合 オレンジ 次の行にあります:

sed -e '/orange/ s/a/an/g' textfile.txt

上記のコマンドを発行すると、次のように出力されます。

This is a demo text file.
It is an super file that will help us all.
The sed utility is also great for stream editing.
Want to learn how to use the utility?
This is another line in the file.
This is the third general line in the file.
This file is named as textfile.
This is a apple.
This is an orange.

単語に注意してください 行で これはリンゴです システムが単語を見つけられなかったため、置き換えられませんでした オレンジ 初期化。

8.正規表現を使用して単語を置換する

正規表現の使用方法を知っている人にとっては、sedコマンドを使用して文字列に対して操作を実行する方がはるかに簡単になります。正規表現を実装して、コマンドの能力を強化できます。

単語のすべての出現を置き換えるには すばらしい また すばらしい素晴らしい

sed -e 's/[Aa]mazing/super/g' textfile.txt

同様に、高度な正規表現を使用して、sedコマンドを使用して特定の操作を実行することもできます。

9.他のコマンドでパイプsed

sedを他のLinuxコマンドと連鎖させることもできます。たとえば、パイプを使用できます lspci sedを指定してコマンドを実行し、出力の行の間に空のスペースを追加します。

lspci | sed G

出力内の特定の単語を置き換えるには ip route show 指図:

ip route show | sed s/src/source/g

前述のコマンドは単語を置き換えます ソース 元の単語の代わりに src

関連している: Linuxで検索コマンドを使用してファイルを検索する方法

10.元のファイルを編集してバックアップします

システムファイルを使用する場合は、変更を加えながら元のファイルをバックアップすることが重要です。これは、何かが壊れた場合に変更を元に戻すのに役立ちます。

sedを使用して元のファイルをバックアップするには、 -私 コマンドのフラグ。

xboxoneコントローラーPCが機能しない
sed -i'.backup' 's/amazing/super/g' textfile.txt

新しいファイルが名前で作成されます textfile.txt.backup 。 2つのファイルが異なることを確認するには、 差分 指図。

diff textfile.txt textfile.txt.backup

Linuxでsedを使用して文字列を編集する

ターミナルでテキストファイルを操作しているときに、読みやすくするために出力をフォーマットおよび編集する必要がある場合があります。 SedとawkはLinuxのコマンドラインユーティリティであり、ユーザーがデータを別々の行に分割することでテキストファイルを効率的に操作できるようにします。

多くのユーザーは、sedコマンドの引数とフラグを覚えるのに苦労しています。これは、使用できる引数とフラグがたくさんあるためです。 Linuxコマンドのコマンドラインマニュアルを入手する方法を知っていると、そのような状況から簡単に抜け出すのに役立ちます。

共有 共有 つぶやき Eメール Linuxでコマンドラインヘルプを取得する7つの方法

コマンドラインからLinuxコマンドについて学習するためのすべての重要なコマンド

次を読む
関連トピック
  • Linux
  • テキストエディタ
  • ターミナル
  • コマンド・プロンプト
著者について ディーペッシュシャルマ(79件の記事が公開されました)

Deepeshは、MUOのLinuxのジュニアエディターです。彼はLinuxに関する情報ガイドを作成し、すべての新規参入者に至福の体験を提供することを目指しています。映画についてはよくわかりませんが、テクノロジーについて話したいのなら、彼はあなたの男です。余暇には、本を読んだり、さまざまな音楽ジャンルを聴いたり、ギターを弾いたりしています。

DeepeshSharmaのその他の記事

ニュースレターを購読する

ニュースレターに参加して、技術的なヒント、レビュー、無料の電子書籍、限定セールを入手してください。

購読するにはここをクリックしてください