LinuxでSedコマンドを使用するためのクイックガイド

Linux sedコマンドの概要

Linuxオペレーティングシステムは、 ターミナルコマンドを使用してコンピュータのファイルシステムを操作します。 ストリームエディタの短縮形であるLinuxコマンドsedの主な用途は、ファイルまたはストリームの各行を、その行の指定された部分を置き換えて変更することです。 これは、ファイルへの基本的なテキスト変更、またはパイプラインからの入力を行います。 たとえば、次の行を含む "songs.text"という名前のファイルがあるとします。

1、ジャスティンティンバーレイク、タイトル545、価格$ 6.30 2、テイラースウィフト、タイトル723、価格$ 7.90 3、ミックジャガー、タイトル610、価格$ 7.90 4、レディガガ、タイトル118、価格$ 6.30 5、ジョニーキャッシュ、タイトル482、価格$ 6.50 6、エルヴィス・プレスリー、タイトル335、価格$ 6.30 7、ジョン・レノン、タイトル271、価格$ 7.90

Sedによるテキストの置換

$ 6.30〜$ 7.30の価格をすべて変更する場合は、sedコマンドを使用して変更を加えることができます。

sed 's / 6.30 / 7.30 /' songs.txt> songs2.txt

このコードは変更を行い、変更されたファイルを "songs2.txt"に書き込みます。 出力ファイルには次のものが含まれます。

1、ジャスティンティンバーレイク、タイトル545、価格$ 7.30 2、テイラースウィフト、タイトル723、価格$ 7.90 3、ミックジャガー、タイトル610、価格$ 7.90 4、レディガガ、タイトル118、価格$ 7.30 5、ジョニーキャッシュ、タイトル482、価格$ 6.50 6、エルヴィス・プレスリー、タイトル335、価格$ 7.30 7、ジョン・レノン、タイトル271、価格$ 7.90

「現金」のすべての出現を「ゴミ箱」に置き換える場合は、次のようにします。

sed 's / Cash / Trash /' songs.txt> songs2.txt

コンテンツを含むファイルを作成します。

1、Justin Timberlake、タイトル545、価格$ 7:30 2、Taylor Swift、タイトル723、価格$ 7.90 3、Mick Jagger、タイトル610、価格$ 7.90 4、Lady Gaga、タイトル118、Price $ 7:30 5、Johnny Trash 482、価格$ 6.50 6、エルヴィス・プレスリー、タイトル335、価格$ 7:30 7、ジョン・レノン、タイトル271、価格$ 7.90

Sedコマンドによるフィルタリング

Sedは、ファイルやストリームの行をフィルタリングするために頻繁に使用されます。 たとえば、「John」を含む行だけを表示する場合は、次のようにします。

sed -n '/ John / p' songs.txt> johns.txt

次の行をファイルjohns.txtに書き込みます。

5、Johnny Trash、タイトル482、価格$ 6.50 7、John Lennon、タイトル271、価格$ 7.90