Вопрос: sed regexp адрес без учета регистра


Как указать sed regexp адрес, который не зависит от регистра?

Например.,

sed '/my-kw/d'

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

благодаря


2
2018-06-27 18:19


Источник


Должен ли этот вопрос переноситься в сообщество Unix и Linux StackExchange? - r_alex_hall


Ответы:


sed '/my-kw/Id'

Это приведет к несоответствию регистра символов.

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


2
2018-06-27 18:23



Прекрасное спасибо. Хм, надеюсь, что мой следующий многострочный комментарий может пройти через $ jot -c 5 'A' | tee / dev / tty | sed '/ c / Id' A B C D E A B D E - xpt
Нет, мой предыдущий многострочный комментарий не прошел с хорошим форматированием, но вы можете видеть, что C был удален из списка. Вы можете запустить образец самостоятельно jot -c 5 'A' | tee /dev/tty | sed '/c/Id', где jot находится из пакета athena-jot под Debian / Ubuntu. - xpt
Обратите внимание, что я является расширением GNU sed. - Alastair Irvine
Это не переносимо. Видеть: stackoverflow.com/questions/4412945/... - r_alex_hall


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

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

Из sed Вопросы-Ответы:

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

echo ONE TWO | sed "s/one/unos/I"      # prints "unos TWO"

3
2018-06-27 18:24



и те, кто поднимает ответ, мой вопрос для sed адрес, Смотрите мой комментарий к другим темам. - xpt


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

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

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


1
2017-07-02 08:55