SSHリモートコマンドで複数行の出力が必要です。
私のローカルコンピュータでこのコマンドを使用すると、正しい出力が得られます。
sudo docker stats --no-stream container1 container2 container3 | awk '{if (NR!=1) {print $1,$9,'$(date +%s)'}}'
container1 72.85 1471958776
container2 14.83 1471958776
container3 9.362 1471958776
リモートで起動すると、改行文字が削除されます。
ssh -o LogLevel=QUIET -t -i key.pem user@host sudo docker stats --no-stream container1 container2 container3 | awk '{if (NR!=1) {print $1,$9,'$(date +%s)'}}'
container1 72.85 1471957426 container2 14.83 1471957426 container3 9.362 1471957426
ローカル出力(1行に1つ)と同じ結果を得るにはどうすればよいですか?
ベストアンサー1
-t
私はこれが議論のためであると信じていますssh
。これはtty割り当てを強制し、端末出力(色、制御シーケンス)を要求します。ただし、出力をローカル端末(これを行う方法を知っています)に表示するのではなくパイプしますawk
。 (それから得られるものを正確に見るために代わりにssh
使用してください。)送信されない出力は避けるべきです。端末の状況を解決したり、隠された制御シーケンスを整理してみてください。後者がより難しいので前者をお勧めします。cat -A
awk
-t