【问题标题】:How to cut from file and put the words in the same line Linux如何从文件中剪切并将单词放在同一行Linux
【发布时间】:2020-04-08 19:13:26
【问题描述】:

所以我有这行代码:

grep "Cx Ações Europa Soc Resp" -A 7 teste.html | tr -s " " "#" | cut -f 2 -d"#" | tr -s "Cx" "\b" | tr -s "</td><td>" "\b"

输出是:

8,2524
8,1215
-9,25%
-5,32%

但是当我做td -s "\n" " " 时只显示最后一个值-5,32%

我怎样才能显示像这样的每个值8,2524 8,1215 -9,25% -5,32

我需要同一行的值,因为我需要用类似的值来回显

8,2524|8,1215|-9,25%|-5,32

【问题讨论】:

标签: bash


【解决方案1】:

如果我正确理解您的需求,您想加入/连接输出行。

  • tr '\n' ' '
  • sed 's/\n/ /'

【讨论】:

  • 现在我有这个 grep "Cx Ações Europa Soc Resp" -A 7 teste.html | tr -s " " "#" | cut -f 2 -d"#" | tr -s "Cx" "\b" | tr -s "&lt;/td&gt;&lt;td&gt;" "\b" 并且输出是 ON TABLE 8,2524 8,1215 -9,25% -5,32%
  • 您将列表中的每个字符 &lt;/td&gt;Cx 替换为 '\b' 所以结果是正确的。
【解决方案2】:

使用awk

 awk '{a=$0" "a;} END {print a} '

【讨论】:

  • 请在您的答案中添加一些解释,以便其他人可以从中学习
猜你喜欢
  • 1970-01-01
  • 2014-04-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-04-10
相关资源
最近更新 更多