小编Guy*_*Guy的帖子

如何以可移植的方式在文件之间更改 AWK 中的 RS 变量

在查看另一个问题时,我遇到了一个我通常无法为 awk 解决的问题,如果一个 awk 程序需要两个文件(即从第一个文件中读取条目到一个数组中进行比较,通常情况下)是什么处理在文件之间更改 RS 的最佳方法?

鉴于以下文件:

~$> cat awktest1.txt 
111 112 113 114|121 122 123 124|131 132 133 134|141 142 143 144
 ~$> cat awktest2.txt 
211 212 213 214

221 222 223 224

231 232 233 234

241 242 243 244
Run Code Online (Sandbox Code Playgroud)

如果我想运行以下,作为一个基本的例子:

#! /usr/bin/awk -f

# awktest.awk file1 file2
# cant swap RS between files

BEGIN { RS="|" }

NR>ONR && ONR==1 { RS="" }
{ print $1 "." $2 "." $3 "." $4 }

# will work …
Run Code Online (Sandbox Code Playgroud)

awk portability

2
推荐指数
1
解决办法
727
查看次数

标签 统计

awk ×1

portability ×1