如何在Linux中将以下给定的多行添加到一行?
我可以使用xargs
,但每行的结尾都有一个空格。
从下面给出的输出中你可以看到'JAS _Data''Exclusiv e'有空格。
Thu Feb 19 10:42:50: Submitted from host <iitmlogin5-ib0>, CWD <$HOME/Bipin/JAS _Data/Big_Domain/128np_IC/Normal_queue>, Output File <file .stdout.159375>, Error File <file.stderr.159375>, Exclusiv e Execution, 128 Task(s), Requested Resources <span[ptile= 16]>; RUNLIMIT
如何删除每一行的额外空格并使其成为一行?
[root@iitmlogin3 ~]# `bjobs -l 159375 | sed -n '/Submitted/,/RUNLIMIT/p' | xargs`
Thu Feb 19 10:42:50: Submitted from host <iitmlogin5-ib0>, CWD <$HOME/Bipin/JAS _Data/Big_Domain/128np_IC/Normal_queue>, Output File <file .stdout.159375>, Error File <file.stderr.159375>, Exclusiv e Execution, 128 Task(s), Requested Resources <span[ptile= 16]>; RUNLIMIT
[root@iitmlogin3 ~]#
答案 0 :(得分:2)
如果您要做的只是在标准输入上读取多行并将它们连接到一行,那么您可以使用while
循环printf
:
while read line; do printf "$line"; done
您可以输出您拥有的任何其他命令的输出,例如:
bjobs -l 159375 | sed -n '/Submitted/,/RUNLIMIT/p' | while read line; do printf "$line"; done