我正在尝试使用以下命令将脚本的键值对输出转换为 csv 文件。
cat config/password | ssh -tt -J support@$gateway support@$ip "$(<${base}/systemkv.sh)" 3>/dev/null | tee /tmp/log | cut -d ':' -f2 | paste -s -d ',' - | tee -a /tmp/output.csv
上面的命令仅显示最后一行或最后一行与其他行重叠。
cut 命令与下面的命令完美配合,但它不允许使用 sudo 命令。
cat config/password | ssh -J support@$gateway support@$ip "$(<${base}/systemkv.sh)" 3>/dev/null | tee /tmp/log | cut -d ':' -f2 | paste -s -d ',' - | tee -a /tmp/output.csv
预期输出
first:Sujit
last:Maharjan
Sujit,Maharjan
实际输出
first:Sujit
last:Maharjan
,Maharjan
答案1
罪魁祸首似乎是回车符。我使用删除了 \r。
ssh ... | tr -d '\r' | ...
该命令现在可以完美运行。
感谢@Jeff Schaller 和@Haxiel 的帮助。