如何删除已创建字符串的结尾行?

时间:2018-12-06 23:48:42

标签: bash net-snmp

我需要读取一个csv文件,在其中列出字符串并将它们分配给变量。我能够做到这一点,但是变量返回了不希望出现的行尾,从而使格式化脱离了文件。

文件:

10.248.32.12
10.248.32.14
10.248.32.16
10.248.32.17
10.248.32.24
10.248.32.25

代码:

echo "ip1;nivel_sinal" > final.csv

while IFS='' read -r line || [[ -n "$line" ]]; do
ip1=$line

snmpget -t2 -v2c -c NGSN_BRASIL_RO $ip1 .1.3.6.1.4.1.25488.8.1.2.2 > temp.txt

if [ -s temp.txt ]
then
sinal=$(snmpget -t2 -v2c -c NGSN_BRASIL_RO $ip1 .1.3.6.1.4.1.25488.8.1.2.2 )
echo $ip1
fi

junto="$ip1;$sinal"
echo "$junto" >> final.csv

done < "$1"
dos2unix final.csv

输出文件:

ip1 nivel_sinal
10.248.32.12    
    SNMPv2-SMI::enterprises.25488.8.1.2.2 = INTEGER: -67
10.248.32.14    
    SNMPv2-SMI::enterprises.25488.8.1.2.2 = INTEGER: -95
10.248.32.16    
    SNMPv2-SMI::enterprises.25488.8.1.2.2 = INTEGER: -79
10.248.32.17    
    SNMPv2-SMI::enterprises.25488.8.1.2.2 = INTEGER: -71
10.248.32.24    
    SNMPv2-SMI::enterprises.25488.8.1.2.2 = INTEGER: -67
10.248.32.25    
    SNMPv2-SMI::enterprises.25488.8.1.2.2 = INTEGER: -87

这是excel的最终结果,以防万一省略了要点和virgurla。

我希望如何

ip1 nivel_sinal
10.248.32.12    SNMPv2-SMI::enterprises.25488.8.1.2.2 = INTEGER: -67
10.248.32.14    SNMPv2-SMI::enterprises.25488.8.1.2.2 = INTEGER: -95
10.248.32.16    SNMPv2-SMI::enterprises.25488.8.1.2.2 = INTEGER: -79
10.248.32.17    SNMPv2-SMI::enterprises.25488.8.1.2.2 = INTEGER: -71
10.248.32.24    SNMPv2-SMI::enterprises.25488.8.1.2.2 = INTEGER: -67
10.248.32.25    SNMPv2-SMI::enterprises.25488.8.1.2.2 = INTEGER: -87

我已经尝试使用其他打印命令,甚至出现了末行字符。那不是我想要的。像'echo' without newline in a shell script

0 个答案:

没有答案