我需要在每四行的末尾添加一个逗号。 这里是我正在寻找的输出的一个例子。
("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"),
awk非常适合这个:
$ awk '0==NR%4{$0=$0","} 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{$0=$0","}
NR是行号。 NR%4
是行数模4。因此,每0 == NR%4
。 对于这些行,我们在末尾添加一个逗号: $0=$0","
。
1
这是awk对印刷线的神秘速记。
看起来你想在每一行结尾都有一个逗号之后加一个逗号。 如果是这样的话,那么:
$ 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 's/)$/),/'
这将适应行数不同的记录。
你可以用“)”来代替任何结尾的“)”,通过使用这个sed命令:
sed 's/)$/),/' <your file>