我正在尝试从我的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。任何帮助都会很棒。
谢谢