Sedチュートリアル(3)のSed構文
3224 ワード
sedの使用は簡単で、sedコマンドが直接コマンドラインまたはsedコマンドを持つテキストファイルの形式を提供することができます.このチュートリアルでは、sedを呼び出す例について説明します.この2つの方法があります.
Sedコマンドライン
コマンドラインsedコマンドで単一引用符を指定できるフォーマットは、次のとおりです.
例
テキストファイルがあることを考えてみましょうtxtは処理され、以下の内容があります.
まず、sedファイルの完全な表示内容を使用するコマンドはありません.
上記のコードを実行すると、次の結果が得られます.
次に、sedが表示されるdeleteコマンドから行を削除することを上記のファイルに表示します.1行目、2行目、5行目を削除しましょう.
ここで、指定した3行を削除するには、-eオプションを持つ3つの個別のコマンドを指定しました.
上記のコードを実行すると、次の結果が得られます.
sedスクリプトファイル
次の2つ目の形式では、sedスクリプトファイルsedコマンドを提供します.
まず、別の行に含まれるテキストcommandsを作成します.txtファイル、1つの動作ごとにsedコマンドを下図に示します.
これで、sedにテキストファイルから命令を読み出し、操作を実行するように指示することができます.ここでは、上記の例のように、同じ結果を実現する.
上記のコードを実行すると、次の結果が得られます.
sed標準オプション
sedサポートは、コマンドラインから以下の標準選択を提供します.
-nオプション
これは、モードバッファのデフォルトの印刷オプションです.GNU sedインタプリタは、-nオプションの代わりに--quiet,--silentオプションを提供します.
たとえば、次のsedコマンドは出力を表示しません.
-eオプション
-eオプションの編集オプション.このオプションを使用すると、複数のコマンドを指定できます.たとえば、次のsedコマンドでは、行ごとに2回印刷されます.
上記のコードを実行すると、次の結果が得られます.
-fオプション
-fオプションは、sedコマンドを含むファイルを提供するために使用されます.たとえば、ファイルから印刷コマンドを指定するには、次のようにします.
上記のコードを実行すると、次の結果が得られます.
Sedコマンドライン
コマンドラインsedコマンドで単一引用符を指定できるフォーマットは、次のとおりです.
sed [-n] [-e] 'command(s)' files
例
テキストファイルがあることを考えてみましょうtxtは処理され、以下の内容があります.
1) A Storm of Swords, George R. R. Martin, 1216
2) The Two Towers, J. R. R. Tolkien, 352
3) The Alchemist, Paulo Coelho, 197
4) The Fellowship of the Ring, J. R. R. Tolkien, 432
5) The Pilgrimage, Paulo Coelho, 288
6) A Game of Thrones, George R. R. Martin, 864
まず、sedファイルの完全な表示内容を使用するコマンドはありません.
[jerry]$ sed '' books.txt
上記のコードを実行すると、次の結果が得られます.
1) A Storm of Swords, George R. R. Martin, 1216
2) The Two Towers, J. R. R. Tolkien, 352
3) The Alchemist, Paulo Coelho, 197
4) The Fellowship of the Ring, J. R. R. Tolkien, 432
5) The Pilgrimage, Paulo Coelho, 288
6) A Game of Thrones, George R. R. Martin, 864
次に、sedが表示されるdeleteコマンドから行を削除することを上記のファイルに表示します.1行目、2行目、5行目を削除しましょう.
ここで、指定した3行を削除するには、-eオプションを持つ3つの個別のコマンドを指定しました.
[jerry]$ sed -e '1d' -e '2d' -e '5d' books.txt
上記のコードを実行すると、次の結果が得られます.
3) The Alchemist, Paulo Coelho, 197
4) The Fellowship of the Ring, J. R. R. Tolkien, 432
6) A Game of Thrones, George R. R. Martin, 864
sedスクリプトファイル
次の2つ目の形式では、sedスクリプトファイルsedコマンドを提供します.
sed [-n] -f scriptfile files
まず、別の行に含まれるテキストcommandsを作成します.txtファイル、1つの動作ごとにsedコマンドを下図に示します.
1d
2d
5d
これで、sedにテキストファイルから命令を読み出し、操作を実行するように指示することができます.ここでは、上記の例のように、同じ結果を実現する.
[jerry]$ sed -f commands.txt books.txt
上記のコードを実行すると、次の結果が得られます.
3) The Alchemist, Paulo Coelho, 197
4) The Fellowship of the Ring, J. R. R. Tolkien, 432
6) A Game of Thrones,George R. R. Martin, 864
sed標準オプション
sedサポートは、コマンドラインから以下の標準選択を提供します.
-nオプション
これは、モードバッファのデフォルトの印刷オプションです.GNU sedインタプリタは、-nオプションの代わりに--quiet,--silentオプションを提供します.
たとえば、次のsedコマンドは出力を表示しません.
[jerry]$ sed -n '' quote.txt
-eオプション
-eオプションの編集オプション.このオプションを使用すると、複数のコマンドを指定できます.たとえば、次のsedコマンドでは、行ごとに2回印刷されます.
[jerry]$ sed -e '' -e 'p' quote.txt
上記のコードを実行すると、次の結果が得られます.
There is only one thing that makes a dream impossible to achieve: the fear of failure.
There is only one thing that makes a dream impossible to achieve: the fear of failure.
- Paulo Coelho, The Alchemist
- Paulo Coelho, The Alchemist
-fオプション
-fオプションは、sedコマンドを含むファイルを提供するために使用されます.たとえば、ファイルから印刷コマンドを指定するには、次のようにします.
[jerry]$ echo "p" > commands.txt
[jerry]$ sed -n -f commands quote.txt
上記のコードを実行すると、次の結果が得られます.
There is only one thing that makes a dream impossible to achieve: the fear of failure.
- Paulo Coelho, The Alchemist