使用awk格式化文件

时间:2017-11-27 23:50:49

标签: awk

我正在尝试从我的awk脚本格式化两个数据。这是我原始数据的一部分

Mike James, 314849866
8830 Johnson Rd
Albuquerque, NM 87122
mjames69@asu.edu
5059358554

这样总共有九行。我已经用这种方式格式化了

cat rawadd | awk -F:  ' NR == 1,NR == 9 {print $1 " " $2 ", " $3 "\n" $7 " " $8 " " $9 "\n" $10 ", " $6 " " $11 "\n" $4 "\n" $5

使用此代码:

tel=`"(${5:0:3}) ${5:3:3}-${5:6:4}"`


cat rawadd | awk -F:  ' NR == 1,NR == 9 {print $1 " " $2 ", " $3 "\n" $7 " " $8 " " $9 "\n" $10 ", " $6 " " $11 "\n" $4 "\n" $tel "\n"}';

我想格式化电话号码,第五行如(505)935-8554。所以我创建了一个新变量$ tel,并将其替换为我从rawadd文件中提取的$ 5变量。

这是新代码的样子:

Mike James, 314849866
8830 Johnson Rd
Albuquerque, NM 87122
mjames69@asu.edu
Mike:James:314849866:mjames69@asu.edu:5059358554:NM:8830:Johnson:Rd:Albuquerque:87122

但我的输出就像这样

{{1}}

在第五行,它只打印实际的线路输入,而不是格式化的电话号码。我希望我可以直接将格式添加到awk命令中,但无法找到方法。我还想将第一行的Id编号格式化为314-84-9866。任何帮助都会很棒。

谢谢

0 个答案:

没有答案