开发者社区> 问答> 正文

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

如果我在本地命令行中使用grep和sort等执行find命令,则会得到如下返回的行:

# 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
上```  
执行相同的命令,则返回的文本将打印而没有换行符,如下所示:

```js
# 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将其拉回。似乎很浪费,因为我只想在本地查看远程结果。

展开
收起
祖安文状元 2020-01-08 15:27:29 809 0
1 条回答
写回答
取消 提交回答
  • 回显该变量时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
    
    2020-01-08 15:27:36
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载