AWK实用程序集合:从流编辑器到字谜查找
1. 输出重定向与错误处理
在某些代码逻辑中,涉及到对特定行的处理和输出重定向。以下是相关代码:
continue
if (index(line, "@") == 0) {
print line > curfile
continue
}
n = split(line, a, "@")
# if a[1] == "", means leading @,
# don't add one back in.
for (i = 2; i <= n; i++) {
if (a[i] == "") { # was an @@
a[i] = "@"
if (a[i+1] == "")
i++
}
}
print join(a, 1, n, SUBSEP) > curfile
这里使用了 > 进行输出重定向,这种方式只会打开文件一次,后续输出会追加到文件中。文件只有在遇到新的数据文件名或输入文件结束时才会关闭。
同时,定义了 unexpected_eof() 函数用于处理意外的文件结束情况,输出错误信息并退出程序:
function unexpected_eof()
{
printf("extract: %s:%d: unexpected EOF or error\n",
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



