awk中的Linux-readarray
我是个新手。我正在尝试加载带有awk中的Linux-readarray,linux,awk,Linux,Awk,我是个新手。我正在尝试加载带有readarray的单列文件(column1-numbers),并打印数组长度。但这是一个错误 GNUBash,版本4.1.2(1)-发行版(x86_64-redhat-linux-GNU) array.sh sqlplus -s user/pass@SID.WORLD <<-END > /dev/null set heading off; spool /tmp/numbers.txt select number from table; COMM
readarray
的单列文件(column1-numbers),并打印数组长度。但这是一个错误
GNUBash,版本4.1.2(1)-发行版(x86_64-redhat-linux-GNU)
array.sh
sqlplus -s user/pass@SID.WORLD <<-END > /dev/null
set heading off;
spool /tmp/numbers.txt
select number from table;
COMMIT;
spool off;
END
awk '{
readarray tn < "/tmp/numbers.txt"
print $1 #// just checking
print ${#tn[@]} #// getting array length.
}' /tmp/numbers2.txt
更新:
awk: cmd. line:3: print ${#tn[@]}
awk: cmd. line:3: ^ syntax error
I want to use that readarray to populate array and do some operation on array.
如果我将awk
更改为
awk '{
readarray tn < "/tmp/numbers.txt"
print tn; # // will print blank lines that is equals to actual lines of file
}' /tmp/numbers1.txt
awk'{
readarray tn<“/tmp/numbers.txt”
print tn;#//将打印等于文件实际行数的空行
}'/tmp/numbers1.txt
awk不是外壳readarray
是一个shell命令${tn[@]}
是一个shell变量求值。这两种方法在awk中均无效
我完全不清楚您到底想做什么,因此我无法真正开始建议正确的方法。awk不是shell
readarray
是一个shell命令${tn[@]}
是一个shell变量求值。这两种方法在awk中均无效
我完全不清楚您到底想做什么,因此我无法真正开始建议正确的方法。awk不是shell
readarray
是一个shell命令${tn[@]}
是一个shell变量求值。这两种方法在awk中均无效
我完全不清楚您到底想做什么,因此我无法真正开始建议正确的方法。awk不是shell
readarray
是一个shell命令${tn[@]}
是一个shell变量求值。这两种方法在awk中均无效
我完全不清楚您到底想做什么,因此我无法真正开始建议正确的方法。一些替代方案:
只需使用bash:readarray tn<“/tmp/numbers.txt”;echo${#tn[@]}
awk:awk'END{print NR}'/tmp/numbers.txt
wc:wc-l
sql:
一些备选方案:
只需使用bash:readarray tn<“/tmp/numbers.txt”;echo${#tn[@]}
awk:awk'END{print NR}'/tmp/numbers.txt
wc:wc-l
sql:
一些备选方案:
只需使用bash:readarray tn<“/tmp/numbers.txt”;echo${#tn[@]}
awk:awk'END{print NR}'/tmp/numbers.txt
wc:wc-l
sql:
一些备选方案:
只需使用bash:readarray tn<“/tmp/numbers.txt”;echo${#tn[@]}
awk:awk'END{print NR}'/tmp/numbers.txt
wc:wc-l
sql:
你到底想在这里干什么?您是否要打印
numbers2.txt
的第一列,然后成对打印numbers.txt
的长度?awk不是shell,它是一个完全独立的工具,有自己的语言。您不应该期望能够直接从awk调用shell命令,就像您不能从C调用它们一样。如果您告诉我们您正在使用一些示例输入和预期输出尝试做什么(而不是如何尝试做任何事情),我们可以提供帮助。您想在awk中操作数组吗?在壳里?sql涉及到什么?回答:是的。在贝壳里。用数据库中的数字填充文件。你到底想在这里做什么?您是否要打印numbers2.txt
的第一列,然后成对打印numbers.txt
的长度?awk不是shell,它是一个完全独立的工具,有自己的语言。您不应该期望能够直接从awk调用shell命令,就像您不能从C调用它们一样。如果您告诉我们您正在使用一些示例输入和预期输出尝试做什么(而不是如何尝试做任何事情),我们可以提供帮助。您想在awk中操作数组吗?在壳里?sql涉及到什么?回答:是的。在贝壳里。用数据库中的数字填充文件。你到底想在这里做什么?您是否要打印numbers2.txt
的第一列,然后成对打印numbers.txt
的长度?awk不是shell,它是一个完全独立的工具,有自己的语言。您不应该期望能够直接从awk调用shell命令,就像您不能从C调用它们一样。如果您告诉我们您正在使用一些示例输入和预期输出尝试做什么(而不是如何尝试做任何事情),我们可以提供帮助。您想在awk中操作数组吗?在壳里?sql涉及到什么?回答:是的。在贝壳里。用数据库中的数字填充文件。你到底想在这里做什么?您是否要打印numbers2.txt
的第一列,然后成对打印numbers.txt
的长度?awk不是shell,它是一个完全独立的工具,有自己的语言。您不应该期望能够直接从awk调用shell命令,就像您不能从C调用它们一样。如果您告诉我们您正在使用一些示例输入和预期输出尝试做什么(而不是如何尝试做任何事情),我们可以提供帮助。您想在awk中操作数组吗?在壳里?sql涉及到什么?回答:是的。在贝壳里。用数据库中的数字填充文件。
set heading off;
spool /tmp/numbers.txt
select number from table;
spool off;
select count(number) from table;