use*_*031 2 bash sed case-insensitive
我正在尝试使用 SED 从两个单词(例如“Account”和“Recognized”)中提取文本,并且我希望搜索不区分大小写。所以我尝试使用 I 参数,但收到此错误消息:
cat Security.txt | sed -n "/Account/,/Recognized/pI" | sed -e '1d' -e '$d'
sed: -e expression #1, char 24: extra characters after command
避免无用地使用猫
/pattern/I是如何指定不区分大小写的匹配sed
sed -n "/Account/I,/Recognized/Ip" Security.txt | sed -e '1d' -e '$d'
Run Code Online (Sandbox Code Playgroud)
您可以使用单个sed命令来实现相同的目的:
sed -n '/account/I,/recognized/I{/account/I!{/recognized/I!p}}' Security.txt
Run Code Online (Sandbox Code Playgroud)
或者awk
awk 'BEGIN{IGNORECASE=1} /account/{f=1; next} /recognized/{f=0} f' Security.txt
Run Code Online (Sandbox Code Playgroud)
参考: