Как я соответствую нечувствительному к регистру regex и удаляю его одновременно
Я считал, что для получения нечувствительных к регистру соответствий используйте флаг "i"
sed -e "/pattern/replace/i" filepath
и удалить использование d
sed -e "/pattern/d" filepath
Я также считал, что мог объединить несколько флагов как 2iw
Я хотел бы знать, мог ли sed объединить и меня и d, я попробовал следующее, но он не работал
sed -e "/pattern/replace/id" filepath > newfilepath
Для использования в случае нечувствительности к регистру / I
вместо / I
.
sed -e "/pattern/Id" filepath
вы можете использовать (g)awk также.
# print case insensitive
awk 'BEGIN{IGNORECASE=1}/pattern/{print}' file
# replace with case insensitive
awk 'BEGIN{IGNORECASE=1}/pattern/{gsub(/pattern/,"replacement")}1' file
ИЛИ просто с shell(bash)
#!/bin/bash
shopt -s nocasematch
while read -r line
do
case "$line" in
*pattern* ) echo $line;
esac
done <"file"