Linux 学習 sed 複数行モード

N次の行をパターンスペースに追加します。
Dパターンスペースの最初の文字を最初の改行まで削除します。
Pパターンスペースの最初の文字を最初の改行まで印刷します。

doubleSpace.txt中身の内容は以下の通りです。

goo
d
man

次のコマンドを使用して、対応するコンテンツを上に配置しますdoubleSpace.txt

echo 'goo' >> doubleSpace.txt
echo 'd' >> doubleSpace.txt
echo 'man' >> doubleSpace.txt

ここに画像の説明を挿入

1行で表示したい場合はgoodを使用します。と の間の改行sed 'N;s/\n//' doubleSpace.txtに注意が必要ですgoo。複数行のコマンドをパターンスペースに読み込むことはできます、改行を削除することはできません。実際、メタキャラクターを使用してに一致させることもできます。たとえば、線として表示することもできます。d\nN
ここに画像の説明を挿入
.\nsed 'N;s/goo.d/good/' doubleSpace.txtgood
ここに画像の説明を挿入

コマンドラインに「 」と入力しcat << EOF >> b.txt、次の内容を順番に入力します。

hell
o bash hel
lo bash
EOF

ここに画像の説明を挿入

sed 'N;s/\n//g;s/hello bash/hello sed\n/;P;D' b.txtNまずファイルの 1 行目と 2 行目をパターンスペースに配置し、次にそれらを\n空の文字に置き換え、次に出力hello bashに置き換えてからhello sed\n、パターンスペースの最初の行を削除します。次に、Nファイルの 2 行目と 3 行目をパターン スペースに配置し、\n空の文字に置き換えて出力hello bashに置き換えhello sed\n、パターン スペースの最初の行を削除します。同様に、ファイルの 3 行目と 4 行目も処理されます。
ここに画像の説明を挿入

この記事は8月の12日目の学習メモであり、内容はGeek Time 「Linux実践スキル100講座」から引用したものです。

おすすめ

転載: blog.csdn.net/qq_42108074/article/details/132241217