sedを使用して演算子を理解する

sedを使用して演算子を理解する

このコマンドを理解して分析してみてください。

echo -e '1234\n4567' | sed 's/^\(..\)\(..\)$/\1:\2/'

ベストアンサー1

echo -e '1234\n4567'
  • echo
    標準出力にパラメータを書き込みます。
  • -e
    バックスラッシュエスケープ解析を有効にします。
  • '1234\n4567'
    書き込む順序です。ここでは一重引用符を使用してください。\nこれはバックスラッシュエスケープ新しいラインを生成します。この-eオプションがないと、リテラルechoが生成されます\nman echo

|
  • |
    管路標準出力左から、、、echoまで標準入力右コマンドの場合sed

sed 's/^\(..\)\(..\)$/\1:\2/'
  • sed
    s(ストリーム)エド(itor)

  • 's/^\(..\)\(..\)$/\1:\2/'s/ A / B /
    sAをBに交換

  • ㅏ:^\(..\)\(..\)$

    • ^行の始まり
      • \(グループ1キャプチャの開始は(リテラルです(
        • .任意の文字に一致してキャプチャグループ1に追加します。
        • .任意の文字に一致してキャプチャグループ1に追加します。
      • \)キャプチャグループ1を終了します。
      • \(キャプチャグループ2を起動します。
        • .任意の文字に一致してキャプチャグループ2に追加します。
        • .任意の文字に一致してキャプチャグループ2に追加します。
      • \)キャプチャグループ2を終了します。
    • $行の終わりと一致します。
  • 第二:\1:\2
    • \1キャプチャグループ1を印刷します。
    • :テキスト印刷:
    • \2キャプチャグループ2を印刷します。

言い換えれば:

書く:

1234
4567

標準出力を生成しますsed

at sed;標準入力から読み取って4文字の行に一致します。最初の2つと最後の2つをコロンで区切り、結果を印刷します。

12:34
45:67

おすすめ記事