sed -e "s/^123$/456/"
sed -e "s/^hoge$/http:\/\/hoge.com\//"
echo "hoge fuga foo" | sed -e "s/\(hoge\|foo\)/bar/g"
(結果)
bar fuga bar
echo " ID = abc" | sed -e "s/\( *ID *= *\)abc/\1def/"
結果: “ ID = def”
echo -e "[config]\nname=user" | sed "N; s/\[config\]\nname=[A-z]*/[config]\nname=hoge/"
結果:
[config]
name=hoge
echo -e "#comment\n[config]\nname=user\n#comment" | sed ":loop; N; s/\[config\]\nname=[A-z]*/[config]\nname=hoge/g; P; D"
結果:
#comment
[config]
name=hoge
#comment
echo -e "[config]\nname=user" | sed -z "s/\[config\]\nname=[A-z]*\nage=[0-9]*/[config]\nname=hoge\nage=15/"
# db configurtion
[db]
name=hoge
id=hoge
password=password
ip=127.0.0.1
readonly=true
echo -e "# db configurtion\n[db]\nname=hoge\nid=hoge\npassword=password\nip=127.0.0.1\nreadonly=true" | sed "/\[db\]/,+4 s/ip=..*/ip=192.168.1.1/"
結果
# db configurtion
[db]
name=hoge
id=hoge
password=password
ip=192.168.1.1
readonly=true
echo -e "# db configurtion\n[db]\nname=hoge\nid=hoge\npassword=password\nip=127.0.0.1\nreadonly=true" | awk "/\[db\]/ { c=0 } c>=3 && c<=5 { gsub(/ip=.*/, \"ip=192.168.1.1\") } { c++; print }"
([^\n]\n){行数}
で行数をカウント\([^\n]*\n\)\{3,5\}
で表現。
echo -e "# db configurtion\n[db]\nname=hoge\nid=hoge\npassword=password\nip=127.0.0.1\nreadonly=true" | sed -z "s/\(\[db\]\n\([^\n]*\n\)\{3,5\}\)ip=[^\n]*/\1ip=192.168.1.1/"
sed -e "/^hoge.*$/d"
sed -i -e "s/^123$/456/"
sed "s/^\(name\)=hoge/\1=fuga"
sed "s/count=[0-9]\{1,5\}"