【发布时间】:2016-09-17 16:35:09
【问题描述】:
我有一个包含内容的名为 strg.cfg 的文件
iMac;1;1;37;;Monitor;1;1;0;;Thunderbolt;1;0;0;;TimeMachine;0;0;0;;USB;1;0;0;;Lacie Stereo;0;0;0;;Rland MacMini;0;0;0;;Scanner;0;0;0;;end
记录由两个分号分隔;;和一个分号的字段。 我尝试使用以下 awk 文件处理此文件
BEGIN {FS=";"; RS="/\;\;/"}
{ print $1 ", " $2 ", " $3 ", " $6 }
$6 用作测试,因为如果它有效,它不应该为此打印任何内容,因为它只有四个字段。 但这似乎不起作用,好像根本没有考虑 RS= 。它仍将始终将整行视为记录。 以 6 美元打印“监视器”而不打印其他行。
【问题讨论】:
-
分号没有什么特别之处,因此您无需转义它们。不过,在 RS 中使用多个字符的能力是 gawk 特有的 - 你在使用 gawk 吗?