shell awk操作如何使结果赋值进数组

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell awk操作如何使结果赋值进数组相关的知识,希望对你有一定的参考价值。

[root@LOAD02 testxdr]# more lftpFilelist.txt
-rw-rw---- 1 iagw iagw 1428387 May 07 06:00 0011025031112015050723
-rw-rw---- 1 iagw iagw 1777425 May 07 06:15 0011025031112015050724
-rw-rw---- 1 iagw iagw 2056771 May 07 06:30 0011025031112015050725
...
有这么一些格式,首先通过awk能否直接赋值进数组Flist,想要的是最后一行
我现在是这么做的
declare -A Flist
declare -A FFlist
Flist=`grep "06:" $Lftplist |awk 'print $9'` #取6点
这个Flist就变成了一行。。很蛋疼
echo $Flist #0011025031112015050723 0011025031112015050724 0011025031112015050725
然后这种也不知道怎么操作进数组了(比如存到FFlist里)
有空格也不能用split...
望大神解答

参考技术A 搞不清楚你到底想问啥艾,awk是可以赋值进数组的,比如将三行中的最后生给弄到数组A中:
tail -1 lftpFileList.txt | awk 'split($0,A," ");'
这就全进数组里了

awk的结果怎么赋值给Shell变量

将awk命令写在$后跟一对括号中,$()表示提取命令的标准输出
a=$(awk 'BEGIN print "aaa"')
echo $a
a变量的值就是awk的输出
参考技术A 变量名称 = awk ...
直接赋值就可以了啊

以上是关于shell awk操作如何使结果赋值进数组的主要内容,如果未能解决你的问题,请参考以下文章

shell 中有没有二维数组,该如何解决

shell 如何获取一条命令的输出结果

如何向数组中显示的 AWK 结果添加不同的变量?

shell命令三剑客之awk命令详解,cut命令,linux里记录行踪(操作记录)

awk如何向shell传值

利用awk赋值