gpt4 book ai didi

linux - 通过 ssh 在返回的文本中保留 '\n' 换行符

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:54:33 29 4
gpt4 key购买 nike

如果我在本地命令行中使用 grep 和 sort 等执行查找命令,我会得到这样的返回行:

# find ~/logs/ -iname 'status' | xargs grep 'last seen' | sort --field-separator=: -k 4 -g
0:0:line:1
0:0:line:2
0:0:line:3

如果我通过 ssh 执行相同的命令,返回的文本打印时没有换行符,如下所示:

# VARcmdChk="$(ssh ${VARuser}@${VARserver} "find ~/logs/ -iname 'status' | xargs grep 'last seen' | sort --field-separator=: -k 4 -g")"
# echo ${VARcmdChk}
0:0:line:1 0:0:line:2 0:0:line:3

我试图理解为什么 ssh 会清理返回的文本,以便将换行符转换为空格。我还没有尝试输出到文件,然后使用 scp 将其拉回。看起来很浪费,因为我只想在本地查看远程结果。

最佳答案

当你回显变量VARcmdChk时,你应该用"将它括起来。

$ VARcmdChk=$(ssh ${VARuser}@${VARserver} "find tmp/ -iname status -exec grep 'last seen' {} \; | sort --field-separator=: -k 4 -g")
$ echo "${VARcmdChk}"
last seen:11:22:33:44:55:66:77:88:99:00
last seen:00:99:88:77:66:55:44:33:22:11

请注意,我已将您的 xargs 替换为 -exec

关于linux - 通过 ssh 在返回的文本中保留 '\n' 换行符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58626966/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com