sed replace []角括弧



Sed Replace Square Brackets



sedを使用して一部の特殊文字を置き換える場合はエスケープする必要がありますが、角括弧[]を置き換える場合は、いくつかの特殊スキルが必要になる場合があります。

1.置換[または]



echo '[test' |sed 's/[//' echo 'test]' |sed 's/]//' echo 'test]' |sed 's/]//'

比較すると、[置き換えるときはエスケープする必要がありますが、置き換えるときは]エスケープする必要がないことがわかります。

2.同時に交換します[]



echo'[test]' |sed's/[[]]/' # Cannot replace echo'[test]' |sed's/[[]]/' # Cannot replace

上記の2つの方法を同時に置き換えることができないことを確認する必要がある場合

方法1:

sedを2回使用



echo '[test]' |sed 's/[//' |sed 's/]//'

方法2:

echo '[test]' |sed 's/[][]//'

時間があるときに特定の原則を追加します