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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了awk的结果怎么赋值给Shell变量相关的知识,希望对你有一定的参考价值。

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

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变量的主要内容,如果未能解决你的问题,请参考以下文章

shell 下几种常见的变量赋值方法

shell 下几种常见的变量赋值方法

怎么将shell变量等于命令的结果,比如把date命令的结果赋值给变量a

怎么把shell后台输出赋值给变量

怎么把shell后台输出赋值给变量

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