sed 在每 4 行的末尾添加逗号
sed add comma at end of every 4th line
我需要在每四行的末尾添加一个逗号。这是输出示例,后面是我正在寻找的内容。
("tester1",
"SERVICE_TICKET_CREATED",
"Thu Mar 19 23:27:57 UTC 2015",
"73.217.129.159")
("tester1",
"SERVICE_TICKET_CREATED",
"Fri Mar 20 00:31:59 UTC 2015",
"73.217.129.159")
还有我需要的
("tester1",
"SERVICE_TICKET_CREATED",
"Thu Mar 19 23:27:57 UTC 2015",
"73.217.129.159"),
("tester1",
"SERVICE_TICKET_CREATED",
"Fri Mar 20 00:31:59 UTC 2015",
"73.217.129.159"),
如果您的目标是在每次结束后添加一个逗号),那么您可以执行以下操作:
sed 's/)$/),/'
这将容纳行数不同的记录。
使用 awk
awk 非常适合这个:
$ awk '0==NR%4{[=10=]=[=10=]","} 1' file
("tester1",
"SERVICE_TICKET_CREATED",
"Thu Mar 19 23:27:57 UTC 2015",
"73.217.129.159"),
("tester1",
"SERVICE_TICKET_CREATED",
"Fri Mar 20 00:31:59 UTC 2015",
"73.217.129.159"),
工作原理:
0==NR%4{[=12=]=[=12=]","}
NR 是行号。 NR%4
是行号模 4。因此,0 == NR%4
每四行。对于这些行,我们在末尾添加一个逗号:[=15=]=[=15=]","
.
1
这是 awk 的神秘 shorthand 打印行。
使用 sed
您似乎希望在以闭括号结尾的每一行之后都加一个逗号。如果是这样,那么:
$ sed 's/)$/),/' file
("tester1",
"SERVICE_TICKET_CREATED",
"Thu Mar 19 23:27:57 UTC 2015",
"73.217.129.159"),
("tester1",
"SERVICE_TICKET_CREATED",
"Fri Mar 20 00:31:59 UTC 2015",
"73.217.129.159"),
您可以使用以下 sed 命令将任何结尾的“)”替换为“)”:
sed 's/)$/),/' <your file>
我需要在每四行的末尾添加一个逗号。这是输出示例,后面是我正在寻找的内容。
("tester1",
"SERVICE_TICKET_CREATED",
"Thu Mar 19 23:27:57 UTC 2015",
"73.217.129.159")
("tester1",
"SERVICE_TICKET_CREATED",
"Fri Mar 20 00:31:59 UTC 2015",
"73.217.129.159")
还有我需要的
("tester1",
"SERVICE_TICKET_CREATED",
"Thu Mar 19 23:27:57 UTC 2015",
"73.217.129.159"),
("tester1",
"SERVICE_TICKET_CREATED",
"Fri Mar 20 00:31:59 UTC 2015",
"73.217.129.159"),
如果您的目标是在每次结束后添加一个逗号),那么您可以执行以下操作:
sed 's/)$/),/'
这将容纳行数不同的记录。
使用 awk
awk 非常适合这个:
$ awk '0==NR%4{[=10=]=[=10=]","} 1' file
("tester1",
"SERVICE_TICKET_CREATED",
"Thu Mar 19 23:27:57 UTC 2015",
"73.217.129.159"),
("tester1",
"SERVICE_TICKET_CREATED",
"Fri Mar 20 00:31:59 UTC 2015",
"73.217.129.159"),
工作原理:
0==NR%4{[=12=]=[=12=]","}
NR 是行号。
NR%4
是行号模 4。因此,0 == NR%4
每四行。对于这些行,我们在末尾添加一个逗号:[=15=]=[=15=]","
.1
这是 awk 的神秘 shorthand 打印行。
使用 sed
您似乎希望在以闭括号结尾的每一行之后都加一个逗号。如果是这样,那么:
$ sed 's/)$/),/' file
("tester1",
"SERVICE_TICKET_CREATED",
"Thu Mar 19 23:27:57 UTC 2015",
"73.217.129.159"),
("tester1",
"SERVICE_TICKET_CREATED",
"Fri Mar 20 00:31:59 UTC 2015",
"73.217.129.159"),
您可以使用以下 sed 命令将任何结尾的“)”替换为“)”:
sed 's/)$/),/' <your file>