【发布时间】:2022-01-08 18:09:14
【问题描述】:
我正在为一些琐碎的事情撞墙,但我不知道为什么它不允许我通过在 AIX 6.x 上打印回文件之前从文件中读取每一行来构建数组。
Employee.txt
1|Sam|Smith|Seatle
2|Barry|Jones|Seatle
3|Garry|Brown|Houston
4|George|Bla|LA
5|Celine|Wood|Atlanta
6|Jody|Ford|Chicago
bash-4.3$ awk 'BEGIN { FS="|" } { employee[$1]=$0; next } { for (index=0; index<=FS; index++) print index ":" employee[index] }' Employee.txt
awk: cmd. line:1: BEGIN { FS="|" } { employee[$1]=$0; next } { for (index=0; index<=FS; index++) print index ":" employee[index] }
awk: cmd. line:1: ^ syntax error
awk: cmd. line:1: error: invalid subscript expression
使用不同的 for 循环得到相同的错误。
bash-4.3$ awk 'BEGIN { FS="|" } { employee[$1]=$0 } END { for (index in employee) { print employee[index] } }' Employee.txt
awk: cmd. line:1: BEGIN { FS="|" } { employee[$1]=$0 } END { for (index in employee) { print employee[index] } }
awk: cmd. line:1: ^ syntax error
awk: cmd. line:1: error: invalid subscript expression
【问题讨论】:
-
请将该示例输入的所需输出(无描述、无图像、无链接)添加到您的问题(无评论)。
-
index<=FS这里应该是一些数值所以可能是index<=NF -
所需的输出是逐行打印Employee.txt。这似乎是一个语法错误,但我无法弄清楚它是什么。谢谢,
-
更改索引后出现同样的错误
-
试试这个:
awk 'BEGIN { FS="|" } { employee[NR]=$0 } END { for (i=1; i<=NR; i++) print employee[i] }' file