次のコマンドを使用して、スクリプトのキーと値のペアの出力を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に感謝します。