nano_exit

基礎的なことこそ、簡単な例が必要だと思うのです。

sedで、不要な行を消去しながら、範囲を指定して置換し、結果を上書きする

参考サイト
sed で指定した範囲の行を置換する - まくまくsed/awkノート
sed | テキストの置換処理を得意とするスクリプト言語
sedでこういう時はどう書く? #Linux - Qiita

  • text.txt内の1~10行目を無視したい。
sed -e '1,10d' text.txt
  • 無視した後の残された行を、頭から1行目と数え直して、100行目から1000行目の間にある全てのhogeHOGEに置換したい。
sed -e '1,10d' -e '100,1000 s/hoge/HOGE/g' text.txt
  • 上記の内容を、同じtext.txtに反映させたい。
sed -i -e '1,10d' -e '100,1000 s/hoge/HOGE/g' text.txt

※giにすると、大文字と小文字を区別しなくなる。

  • #を含む行を消したい。
sed -e '/#/ d' text.txt
  • 行頭に#がある行を消したい。
sed -e '/^#/ d' text.txt
  • 行頭の#を消したい。
sed -e 's/^#//' text.txt
  • 行頭に#がある行のhogeだけ全てHOGEに置換したい。
sed -e '/^#/ s/hoge/HOGE/g' text.txt

- 行頭に#がない行のhogeだけ全てHOGEに置換したい。
>|bash|
sed -e '/^#/! s/hoge/HOGE/g' text.txt