Awk-如何删除带括号的模式
Awk-How remove pattern with brackets
我犯了一个错误,添加了 Ini 文件(是的,我们在 2022 年 :D)有错误的部分
我加了一行[完[edit=true]
如何使用 awk 删除整行(我没有其他选择)
我不明白如何在 AWK 命令行中转义 [。
你能帮帮我吗?
谢谢
逃避前导(左)括号的几个想法:
awk '/\[End\[edit=true]/ {next} 1' file
# or
awk '!/\[End\[edit=true]/' file
确认结果后,假设您使用的是 GNU awk
,您可以添加 -i inplace
来更新文件:
awk -i inplace '!/\[End\[edit=true]/' file
I don't understand how escape the [ in the AWK command line.
如果行始终是文字 [End[edit=true]
那么您不需要,只需请求不是以下方式的行,让 file.ini
内容成为
[someline=true]
[End[edit=true]
[another=true]
然后
awk '[=11=]!="[End[edit=true]"' file.ini
给出输出
[someline=true]
[another=true]
说明:[=15=]
表示整行,如果不是[End[edit=true]
则为print
ed.
(在 GNU Awk 5.0.1 中测试)
我犯了一个错误,添加了 Ini 文件(是的,我们在 2022 年 :D)有错误的部分
我加了一行[完[edit=true]
如何使用 awk 删除整行(我没有其他选择)
我不明白如何在 AWK 命令行中转义 [。
你能帮帮我吗?
谢谢
逃避前导(左)括号的几个想法:
awk '/\[End\[edit=true]/ {next} 1' file
# or
awk '!/\[End\[edit=true]/' file
确认结果后,假设您使用的是 GNU awk
,您可以添加 -i inplace
来更新文件:
awk -i inplace '!/\[End\[edit=true]/' file
I don't understand how escape the [ in the AWK command line.
如果行始终是文字 [End[edit=true]
那么您不需要,只需请求不是以下方式的行,让 file.ini
内容成为
[someline=true]
[End[edit=true]
[another=true]
然后
awk '[=11=]!="[End[edit=true]"' file.ini
给出输出
[someline=true]
[another=true]
说明:[=15=]
表示整行,如果不是[End[edit=true]
则为print
ed.
(在 GNU Awk 5.0.1 中测试)