Bash让所有东西都在同一条线上?

时间:2014-02-28 15:52:11

标签: string bash shell

我整个上午一直在努力,没有运气。我需要将结果全部放在逗号分隔的一行上。有些部分工作正常但是一旦我添加了阅读它就感觉分开了!

INPUT=steamIPs.csv
   OLDIFS=$IFS
   IFS=,
   [ ! -f $INPUT ] && { echo "$INPUT file not found"; exit 99; }
   while read router contact address
   do 
   myvar="$ip 
   $router
   $contact
   $address"
   echo "$myvar" | paste -s -d',' 
   OUTPUT=`snmpget $ip  -c public -v 1 sysuptim`    
   echo ${OUTPUT#*:} | tr -d ' '
   done < $INPUT 
   IFS=$OLDIFS

1 个答案:

答案 0 :(得分:2)

你工作太辛苦了:

if [[ ! -f "$INPUT" ]]; then
    echo "$INPUT file not found"
    exit 99
fi

while IFS=, read -r router contact address; do 
    myvar="$ip,$router,$contact,$address"
    echo "$myvar"
done < "$INPUT"