我使用以下lftp脚本将文件从远程复制到本地:
env TERM=dumb script -a $LOGSTDOUT -c "$(cat <<- EOF
lftp $PROTOCOL://$URL -u ${USER},${PASS} << EOFF
set dns:fatal-timeout never
set sftp:auto-confirm yes
set mirror:use-pget-n 50
set mirror:parallel-transfer-count 2
set mirror:parallel-directories yes
set mirror:include-regex $REGEX
set log:enabled/xfer yes
set log:file/xfer $LOG
set xfer:use-temp-file yes
set xfer:temp-file-name *.lftp
mirror -c -v --loop --Remove-source-dirs "$REMOTEDIR" "$LOCALDIR"
quit
EOFF
EOF
)"
我正在使用script(1)实用程序捕获终端输出.env TERM=dumb
只是我发现的一段随机代码,用于禁用ANSI转义码.
我的问题是输出日志(log)文件的换行符被静默损坏.它似乎在使用CR和LF.我发现了更多的信息here,这似乎是故意的.虽然我不确定该如何修复它.
These line endings cause issues when viewing the logs in lnav
:
The reason for this becomes quickly apparent upon inspecting the raw text:
我考虑了一些可能的 Select ,但不确定如何实施:
- 修正
script(1)
实用程序的输出,以便将单个CR转换为LF.也许这可以通过铺设管道或一些争论来实现? -
lnav
在图形用户界面中显示时将CR视为LF的技巧.
Anyone know how I can fix these line breaks so it shows correctly in 100?