如何使用 plink 在远程 shell 脚本输出的文本文件中添加新行

如何使用 plink 在远程 shell 脚本输出的文本文件中添加新行

在 Windows 中,我使用 putty plink 执行远程 shell 脚本

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

远程服务器中的 Shell 脚本

#! /bin/bash

echo -e "Hellow\nWorld"

我在 log1.txt 中得到的输出是 HelloWorld,没有任何换行符。如何获得输出为

Hello
World

答案1

您在输出中得到换行符。问题是这是一个 Unix 换行符,Windows 无法识别。 Unix 将换行符编码为 LF(换行)字符,而 Windows 换行符由两个字符序列 CRLF(回车、换行)组成。

要在 Windows 下正确查看输出,只需使用除记事本编辑器type中的命令之外的任何内容。cmd

如果您想使用 Windows 换行符生成输出,您可以通过管道传输脚本sed 's/$/\r/'。但请注意,此输出在 Linux 下无法正常工作:行末尾的额外 CR 字符将被许多应用程序视为该行的一部分。

相关内容