Awk不能同时使用字段宽度和;OFS

Awk不能同时使用字段宽度和;OFS,awk,Awk,剧本: awk 'BEGIN { FIELDWIDTHS = "20 20 20 6 2 9 3 20 20 22" ; OFS="*"} { print $1 $2 $3}' new2.txt 输入: ACCESSORIES CAT NOI 002070 A226C300N000Accessories: Cat, NOI

剧本:

awk 'BEGIN { FIELDWIDTHS = "20 20 20 6 2 9 3 20 20 22" ; OFS="*"} { print $1 $2 $3}' new2.txt
输入:

ACCESSORIES         CAT                 NOI                 002070  A226C300N000Accessories:        Cat,                NOI                  
ACCESSORIES         DENTISTS                                056480  A226D532 000Accessories:        Dentists'                               v
ACCESSORIES         DOG                 NOI                 002070  A226D200N000Accessories:        Dog,                NOI                  
所需输出:

$ awk 'BEGIN { FIELDWIDTHS = "20 20 20 6 2 9 3 20 20 22" ; OFS="*"} { print $1 $2 $3}' new2.txt
ACCESSORIES         *CAT                 *NOI
ACCESSORIES         *DENTISTS            *
ACCESSORIES         *DOG                 *NOI

但是输出中没有星号:(

您忘记了打印$1、$2、$3中的逗号。您确定您使用的是GNU awk(唯一支持字段宽度的awk版本)?