水平写入文件

水平写入文件

我有一个想要运行的脚本,然后以特定格式将输出写入文件
当前,当我运行该脚本并将其定向到标准输出时,它会以我想要的格式提供给我。问题是,当我尝试将其发送到文件时,它会丢失格式,只是在同一行上为我提供文件中的输出
以下是我希望以这种特定方式写入文件的输出:
想要的输出
下面是当我将其写入文件时它实际提供的内容
实际产量
这是我的代码

printf "%s\n" "==================" >> test
printf "%s\n" "Disk Space. Look for /" >> test
printf "%s\n" "==================" >> test
printf "%s\n" $(df | grep '/dev/') >> test 
printf "%s\n" "==================" >> test


如何使文件中的输出看起来像命令行中的输出。

编辑:我通过 plink (putty 命令行)运行它,这些命令位于我正在使用的命令文件中。

答案1

从您的屏幕截图来看,您似乎正在 Windows 的记事本中查看该文件。它仅识别 Windows 风格的行结束符 (CR+LF),并在一行上显示具有 Unix 风格的行结束符的文件。

您可以更改\n\r\n输出printfWindows 样式的行结束符。

答案2

您可以通过运行文件unix2dos(与 相反dos2unix,但从相同的dos2unix-*rpm 拉取),然后将文件发送到目的地。这应该可以让您的文件在 Windows 中正常运行。

相关内容