Ihr Code hat eine Reihe von Problemen, die erste ist, was Sie beschreiben.
Es wird auch die Zahlen in umgekehrter Reihenfolge und haben ein abschließendes Komma, was wahrscheinlich nicht das ist, was Sie wollen.
Wenn das ist was Sie wollen, verwenden Sie einfach die zweite Lösung.
Lösung 1, richtige Reihenfolge und kein Komma:
tradeline=""
sep=""
for line in $(cat abc.dat) ; do
tradeline="${tradeline}${sep}\"${line}\""
sep=","
done
echo ${tradeline}
Lösung 2, richtige Reihenfolge mit nachfolgendem Komma:
tradeline=""
for line in $(cat abc.dat) ; do
tradeline="${tradeline}\"${line}\","
done
echo ${tradeline}
Lösung 3, viel einfacher, bedeuteten die Verwendung von Tool für den Job:
awk 'BEGIN {sep=""} {printf "%s\"%s\"",sep,$0;sep=","} END {print}' abc.dat
Lösung 3 wäre meine bevorzugte Option, da es schneller sein wird und in der Lage sein, Eingabezeilen mit Leerzeichen in ihnen zu behandeln.
Ihre Lösung sollte "3,2,1," anstelle von "1,2,3," generieren. –