【发布时间】:2016-04-01 20:12:35
【问题描述】:
我正在运行命令:
apk version openssh
输出包括\n。它看起来像这样:
testbox:~# apk version openssh
Installed: Available:
openssh-6.8_p1-r5 < 6.8_p1-r6
testbox:~#
我需要一种方法来改变这个输出,使它看起来像这样:
openssh-6.8_p1-r5 < 6.8_p1-r6
所以明确地说,我想:
- 去掉 \n 字符
- 删除所有多余的空格
- 删除标题。
- 不必保存到文件,只需运行一个命令即可一次完成所有操作。
有没有办法做到这一点?我一直是 grep 的谷歌示例,我尝试用它来尝试摆脱 \n 但还没有成功。
我仍在努力解决这个问题,但如果您有一些建议,我将不胜感激。
编辑 1
我用过 sed,我把它归结为:
testbox:~# apk version openssh | sed 's/Installed://g'| sed 's/Available://g' | sed 's/\n//g'
openssh-6.8_p1-r5 < 6.8_p1-r6
如你所见,我试图摆脱换行符的尝试失败了
编辑 2
使用“tr”替换换行符。越来越近。现在我的命令/输出如下所示:
testbox:~# apk version openssh | sed 's/Installed://g'| sed 's/Available://g' | tr '\n' ' '
openssh-6.8_p1-r5 < 6.8_p1-r6 testbox:~#
【问题讨论】:
-
awk甚至sed在这里会很有用。也许| sed 's/\s+/ /?