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에게 감사드립니다.

관련 정보