从标准输出中删除行尾字符?多行成一行

斯蒂芬·拉西斯基(Stefan Lasiewski)

我有一个输出以下文本的脚本。这是Netopia 2210-02 ADSL2调制解调器的输出

ADSL Line State:        Up
ADSL Startup Attempts:  1
ADSL Modulation:        DMT
ADSL Data Path:         Fast
Datapump Version:       DSP 7.2.3.0, HAL 7.2.1.0
SNR Margin:                   8.20        9.00 dB
Line Attenuation:            57.50       31.00 dB
Output Power:                17.09       12.34 dBm
Errored Seconds:                 0           0
Loss of Signal:                  0         476
Loss of Frame:                   0           0
CRC Errors:                  57921         416
Data Rate:                    2880        1024

如何删除每行的行尾字符?我希望输出看起来像这样(是的,很丑陋):

ADSL Line State:        Up ADSL Startup Attempts:  1 ADSL Modulation:        DMT ADSL Data Path:         Fast Datapump Version:       DSP 7.2.3.0, HAL 7.2.1.0 SNR Margin:                   8.20        9.00 dB Line Attenuation:            57.50       31.00 dB Output Power:                17.09       12.34 dBm Errored Seconds:                 0           0 Loss of Signal:                  0         476 Loss of Frame:                   0           0 CRC Errors:                  57921         416 Data Rate:                    2880        1024 

我尝试了一些类似的解决方案,但是它们不起作用:

# (This simply outputs the contents of the script, unmodified)
stefanl@hosta:~/Work/Cacti $ ./script | sed -e 's/$//'

我也尝试使用tr我期待以下命令将每个换行符替换为空格字符。这将采用多行并将它们组合成一条较长的单行。相反,它仅显示输出的最后一行。似乎用输出的下一行覆盖了随后的每一行。

stefanl@hosta:~/Work/Cacti $ ./script | tr '\n' ' '
Data Rate:                    2880        1024stefanl@hosta:~/Work/Cacti $
stefanl@hosta:~/Work/Cacti $

更新

经过进一步检查,看起来每行前面都有一个返回字符。显示为^M使用时less因此,我添加了两个tr语句。一种删除换行符,一种删除返回字符。

./script | | tr -d '\n' | tr -d '\r'
迈克尔·莫罗泽克(Michael Mrozek)

sed(它很容易)无法工作,因为它一次只能在一行上运行;您可以执行此操作,但这将涉及将整个输入复制到保持缓冲区中

tr实际上应该按照您粘贴的方式工作;您确定换行符是\ns吗?您可以通过删除换行符而不是将它们转换为空格来稍微简化一下:

tr -d '\n'

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在一行中搜索字符串,然后从那里删除到行尾

来自分类Dev

如何在一行中搜索字符串,然后从那里删除到行尾

来自分类Dev

如何从多行字符串的每一行中删除前 40 个字符?

来自分类Dev

删除多行单元格中的第一行

来自分类Dev

从多行javascript和jquery中删除一行

来自分类Dev

使用前一行中的 id 删除多行

来自分类Dev

多行成一行(Matlab)

来自分类Dev

如果一行包含记事本中的某些字符串,请删除多行

来自分类Dev

在多行中写长表达式时,符号应该放在行尾还是下一行的第一行?

来自分类Dev

如何将多行字符串连接成一行?

来自分类Dev

从自动生成的文本输出中删除第一行

来自分类Dev

如何删除输出最后一行中的并集

来自分类Dev

从自动生成的文本输出中删除第一行

来自分类Dev

如何从输出中删除行尾

来自分类Dev

删除重复的行,包括多行中捆绑在一起的第一行

来自分类Dev

多行“ [redex] :: match()”输出在Powershell中显示为一行

来自分类Dev

在 shell 脚本中的第一行之后读取后停止读取多行输出

来自分类Dev

如何忽略curl标准输出中的第一行内容?

来自分类Dev

是否可以将 xdist 网关号打印到标准输出中的每一行?

来自分类Dev

从shellscript的每一行中删除字符

来自分类Dev

从字符串中删除最后一行

来自分类Dev

删除“。”之后的所有字符。在每一行中

来自分类Dev

从shellscript的每一行中删除字符

来自分类Dev

bash:从一行中删除特定的字符模式

来自分类Dev

shell命令从一行中删除字符范围

来自分类Dev

删除每一行中的字符串

来自分类Dev

在一行中运行多行循环

来自分类Dev

在xslt中从多行生成一行

来自分类Dev

从多行中获取一行

Related 相关文章

  1. 1

    如何在一行中搜索字符串,然后从那里删除到行尾

  2. 2

    如何在一行中搜索字符串,然后从那里删除到行尾

  3. 3

    如何从多行字符串的每一行中删除前 40 个字符?

  4. 4

    删除多行单元格中的第一行

  5. 5

    从多行javascript和jquery中删除一行

  6. 6

    使用前一行中的 id 删除多行

  7. 7

    多行成一行(Matlab)

  8. 8

    如果一行包含记事本中的某些字符串,请删除多行

  9. 9

    在多行中写长表达式时,符号应该放在行尾还是下一行的第一行?

  10. 10

    如何将多行字符串连接成一行?

  11. 11

    从自动生成的文本输出中删除第一行

  12. 12

    如何删除输出最后一行中的并集

  13. 13

    从自动生成的文本输出中删除第一行

  14. 14

    如何从输出中删除行尾

  15. 15

    删除重复的行,包括多行中捆绑在一起的第一行

  16. 16

    多行“ [redex] :: match()”输出在Powershell中显示为一行

  17. 17

    在 shell 脚本中的第一行之后读取后停止读取多行输出

  18. 18

    如何忽略curl标准输出中的第一行内容?

  19. 19

    是否可以将 xdist 网关号打印到标准输出中的每一行?

  20. 20

    从shellscript的每一行中删除字符

  21. 21

    从字符串中删除最后一行

  22. 22

    删除“。”之后的所有字符。在每一行中

  23. 23

    从shellscript的每一行中删除字符

  24. 24

    bash:从一行中删除特定的字符模式

  25. 25

    shell命令从一行中删除字符范围

  26. 26

    删除每一行中的字符串

  27. 27

    在一行中运行多行循环

  28. 28

    在xslt中从多行生成一行

  29. 29

    从多行中获取一行

热门标签

归档