在一行中打印一个文件 ksh

Print a file in one single row ksh

我有 文件 DATA,其中有:

Name                   | Karlstrom|

Description            | New_Server|

Type                   | UNIX OS|

Formula                | y=kx+j |

Severity                | Critical|

我需要知道如何像这样显示数据:

Name| Karlstrom|Description| New_Server|Type UNIX OS|Formula| y=kx+j|Severity| Critical|

使用 KORN SHELL | KSH

我认为 shell 在这里不重要。你有 cat、awk 和 sed 工具吗?您可以这样做,例如:

cat DATA | awk 'BEGIN {s=""} {s=s[=10=]} END {print s}' | sed 's/ *//g'

这些要求并未解释所有情况,但以下代码将处理您的示例输入:

sed -e 's/ *|/|/' DATA | tr -d "\n"; echo
# Output:
Name| Karlstrom|Description| New_Server|Type| UNIX OS|Formula| y=kx+j |Severity| Critical|

我在命令后面加了一个回显,这样命令提示符就在下一行了。