Sed - ヒントとコツ
= [Sed]ヒントとコツ
代用
各行の「foo」を「bar」に置き換えます。
1回目のみ
sedの/ foo / bar / '
3番目の場合のみ
sedの/ foo / bar / 3 '
すべての発生
sedの/ foo / bar / g '
最後の出来事の直前
sedの/ \(。* \)foo \(。* foo \)/ \ 1bar \ 2 / '
最後のケースのみ
sedの/ \(。* \)foo / \ 1bar / '
"foo"を "bar"で "plop"を含む行のみに置き換えます。
sed '/ plop / s / foo / bar / g'
「plop」を含む行を除いて、「foo」を「bar」に置き換えます。
sed '/ plop /! s / foo / bar / g '
各行の "Foo"または "foo"を "bar"に置き換えます。
sed '/ [Ff] oo / bar / g'
「青」または「白」または「赤」を「緑」に置き換えます
sed 's / blue \ | 空白\ | 赤/緑/ g '
表示
1行目(ヘッド-1)
sed q
最初の5行(頭-5)
sed'5 q '
sed'1、5! d '
最後の行(末尾-1)
sed-n '$ p'
sed '$! d "
最後の5行(tail -5)
sed-e:ae '$ q、N、6、$ D。 ba '
最後の2行(tail -2)
sed '$! N; $! D '
理由や正規表現に一致する行のみ
sed-n '/ pattern / p'
sed '/ regexp /! d '
理由や正規表現と一致しない行のみ
sed-n '/ pattern /! p '
sed '/ regexp / d'
パターンまたは正規表現の前の行
sed-n '/ pattern /(g; 1!p;)h'
パターンまたは正規表現に続く行
sed-n '/ regexp /(n、p;)'
削除する
===スペースとタブ==
スペースとタブを削除する
行頭
sedの/ ^ [\ t] * / /
sed 's / ^ \ s * / /'#パラメータ "\ s"を使う
行末に
sed '/ / [\ t] * $ //'
行頭と行末
sedの/ ^ [\ t] * //; s / [\ t] * $ // '
空行
空白行を削除する
すべての空行
sed '/ ^ $ /
sed '/./! の
一番上の人だけ
sed '/./, $! の
sed-nr '/./, $ /(.*)/ s \ 1 / p'#ありがとうAdrien
最後の人だけ
sed-e:ae '/ ^ \ n * $ /($ d N; ba'-e') '
一定間隔
定期的に行を削除する
全ラインペア
sed'1〜2d '
すべての奇数行
sed'2〜2d '
行nからn行ごと
sed'3〜2d '#2 3行目からのすべての行
その他
行に参加
2行2行を添付
sed '$! N s / \ n / / '
3行を3行で添付
sed '$! N s / \ n //; $! N s / \ n / /; '
行が円記号(\)で終わっている場合は、次の行を追加し、行の終わり(\ n)をスペースで置き換えます
sed-e:ae '/ \ \ $ / N s / \ \ \ n / /; ta '
行が等号(=)で始まる場合は、前の行に追加して等号(=)をスペースに置き換えます。
sed-e:ae '$! N s / \ n = / /; ta'-e 'P、D'