plink를 사용하여 원격 쉘 스크립트로 출력된 텍스트 파일에 새 줄을 추가하는 방법

plink를 사용하여 원격 쉘 스크립트로 출력된 텍스트 파일에 새 줄을 추가하는 방법

Windows에서는 putty plink를 사용하여 원격 쉘 스크립트를 실행합니다.

cmd>plink.exe -ssh username@hostipd -pw gbG8qs4 /user/alice/listoffiles.sh > C:\log1.txt

원격 서버의 쉘 스크립트

#! /bin/bash

echo -e "Hellow\nWorld"

log1.txt에서 얻은 출력은 개행 문자가 없는 HelloWorld입니다. 출력을 얻는 방법

Hello
World

답변1

출력에 개행 문자가 표시됩니다. 문제는 이것이 Windows가 인식하지 못하는 Unix 개행 문자라는 것입니다. Unix는 줄 바꿈을 LF(줄 바꿈) 문자로 인코딩하는 반면, Windows 줄 바꿈은 두 문자 시퀀스 CRLF(캐리지 리턴, 줄 바꿈)로 구성됩니다.

Windows에서 출력을 올바르게 보려면 메모장 편집기의 명령 이외의 type다른 명령을 사용하면 됩니다.cmd

Windows 줄바꿈을 사용하여 출력을 생성하려면 스크립트를 파이프할 수 있습니다 sed 's/$/\r/'. 그러나 이 출력은 Linux에서 제대로 작동하지 않습니다. 줄 끝에 있는 추가 CR 문자는 많은 응용 프로그램에서 줄의 일부로 간주됩니다.

관련 정보