awk 正则表达式示例

awk regex example

输入格式:

"130234":"f",
"130235":"m",
"130236":"f",
"130237":"f",

我想使用 awk 命令将上面的文件输入转换为下面的输出。 1. 截断最后一个“,”并用大括号括起来。谁能帮我解决这个问题。

{"130234":"f",
"130235":"m",
"130236":"f",
"130237":"f"}

您应该使用 sed 进行这种简单的替换:

$ sed '1s/^/{/;$s/,$/}/' file
{"130234":"f",
"130235":"m",
"130236":"f",
"130237":"f"}

通过awk,

$ awk 'BEGIN{printf "{"}{if (a) print a; a=[=10=]}END{sub(/,$/, "}");print}' file
{"130234":"f",
"130235":"m",
"130236":"f",
"130237":"f"}