LoginSignup
0
0

More than 3 years have passed since last update.

sedの備忘録

Last updated at Posted at 2020-10-15

sedを使ってデータの一括置き換えをしたい時のための備忘録。随時追加予定。

削除

まず、偶数行・奇数行をそれぞれ削除したい時。
準備として偶数行と奇数行に異なる文字列を出力したファイルを準備。

$ for i in {1..10}; do
if [ $(($i % 2)) = 0 ]; then
echo '偶数行です'
else
echo '奇数行です'
fi
done > number.txt

$ cat number.txt
奇数行です
偶数行です
奇数行です
偶数行です
奇数行です
偶数行です
奇数行です
偶数行です
奇数行です
偶数行です

偶数行を削除したい

$ sed -i -e 'n; d' number.txt
$ cat number.txt
奇数行です
奇数行です
奇数行です
奇数行です
奇数行です

奇数行を削除したい

$ sed -i -e '1d; n; d' number.txt
$ cat number.txt
偶数行です
偶数行です
偶数行です
偶数行です
偶数行です

置換

特定の文字列を、空白を含む文字列へ一括置き換えしたい

スペースをエスケープすればいいだけだった。

# 準備
$ pen='これはペンです。\n'
$ printf $pen"%.s" {1..10} > pen.txt
$ cat pen.txt
これはペンです。
これはペンです。
これはペンです。
これはペンです。
これはペンです。
これはペンです。
これはペンです。
これはペンです。
これはペンです。
これはペンです。

# 置換
$ sed -i -e "s/これはペンです。/This\ is\ a\ pen\./g" pen.txt
$ cat pen.txt
This is a pen.
This is a pen.
This is a pen.
This is a pen.
This is a pen.
This is a pen.
This is a pen.
This is a pen.
This is a pen.
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0