cut 命令的意外输出

cut 命令的意外输出

我正在尝试使用以下命令将脚本的键值对输出转换为 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 的帮助。

相关内容