使用 awk 和正则表达式格式化输出

1 awk text-processing

我有大约 20 个文件,大约 300 行,由如下格式的数据填充:

62640 usec, 3500 usec
1640 usec, 480 usec
360 usec, 520 usec
1200 usec, 500 usec
340 usec, 520 usec
Run Code Online (Sandbox Code Playgroud)

我想把它变成 Arduino 代码,格式如下

delayMicroseconds(62640);
pulseIR(3500);
delayMicroseconds(1640);
pulseIR(480);
delayMicroseconds(360);
pulseIR(520);
delayMicroseconds(1200);
pulseIR(500);
delayMicroseconds(340);
pulseIR(520);
Run Code Online (Sandbox Code Playgroud)

依此类推,其中 delayMicroseconds() 函数中的数字是每行的第一个数字,pulseIR() 中的数字是每行的第二个数字。

有任何想法吗?我觉得这在 awk 中应该是可能的。

ste*_*ver 11

这里不需要任何正则表达式 - 只需printf将字段格式化为字符串:

$ awk '{printf("delayMicroseconds(%d);\npulseIR(%d);\n", $1, $3)}' file
delayMicroseconds(62640);
pulseIR(3500);
delayMicroseconds(1640);
pulseIR(480);
delayMicroseconds(360);
pulseIR(520);
delayMicroseconds(1200);
pulseIR(500);
delayMicroseconds(340);
pulseIR(520);
Run Code Online (Sandbox Code Playgroud)