shell变量拼接失败,拼接结果是覆盖
Linux shell中字符串拼接,代码如下#!/bin/bash
realt=`cat /opt/1.txt | grep "Realtime" | awk -F ' ' '{print $NF}'`
native=`cat /opt/1.txt | grep "Native Heap:" | awk -F ' ' '{print $NF}'`
gpumsg=`cat /opt/1.txt | grep "Graphics:" | awk -F ' ' '{print $NF}'`
resu=$realt","$native","$gpumsg
echo $resu
期望结果:22753748,114840,848
实际结果:,8488408
tips:后面的值把前面的值覆盖了,不知道什么情况,求解
应该把你1.txt文件内容发出来 LinuxAndPython 发表于 2018-12-4 14:20
应该把你1.txt文件内容发出来
1.txt我作为附件上传了 不需要grep这个命令,grep命令是匹配你引号的字符也就是Realtime而已,我给你第一条匹配的命令, 你看下吧
cat 1.txt | awk NR==2 | awk -F ':' '{print $3}'
我跑出来的结果是正常的
test@hostname#more test.sh
#!/bin/bash
realt=`cat ./1.txt | grep "Realtime" | awk -F ' ' '{print $NF}'`
native=`cat ./1.txt | grep "Native Heap:" | awk -F ' ' '{print $NF}'`
gpumsg=`cat ./1.txt | grep "Graphics:" | awk -F ' ' '{print $NF}'`
resu=$realt","$native","$gpumsg
echo $resu
test@hostname#sh test.sh
22753748,114840,848 LinuxAndPython 发表于 2018-12-5 15:33
不需要grep这个命令,grep命令是匹配你引号的字符也就是Realtime而已,我给你第一条匹配的命令, 你看下吧
...
确实用NR效率高,就是怕每次抓的日志行不固定,所以选择了grep 潇湘慕风 发表于 2018-12-11 11:19
我跑出来的结果是正常的
test@hostname#more test.sh
#!/bin/bash
嗯,3q,找到问题了,文件格式的问题,需要先执行dos2unix把文件格式转换一下
页:
[1]