2

Как указать адрес sed regexp без учета регистра?

Например,

sed '/my-kw/d'

Но я хочу, чтобы sed убрал строки с my-kw в любом случае.

Спасибо

3 ответа3

3

Просто используйте переключатель I :

$ echo fooFOO | sed 's/o/a/Id'
faaFaa

Из sed FAQ:

GNU sed 3.02 и ssed также предлагают ключ /I для выполнения сопоставления без учета регистра. Например,

echo ONE TWO | sed "s/one/unos/I"      # prints "unos TWO"
2
sed '/my-kw/Id'

Это будет выполнять сопоставление без учета регистра.

Переключатель находится в верхнем регистре, чтобы избежать путаницы с командой i , предлагаемой sed для вставки строки в поток.

1

Это может работать для вас:

Файл sed '/[mM] [yY] - [kK] [wW]/d' или:

Файл sed 'h; y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/;/MY-KW/d; x'

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .