+-

我从Nagios使用wget命令下载了html文件,然后使用以下代码将该htmlfile转换为Textfile:
html2text -width 180 file.html >a.txt
然后我削减了前10行,因为我不想要该文本,并且得到了低于textfile输出的结果
awk 'NR > 10 { print }'a.txt > b.txt
我必须将两行合并为单行,而不是仅对b.txt文件中的特定输出的所有行进行合并.
注意:文本文件包含N行
这里是b.txt文件输出:
DISK OK - free space: CRITICAL
01-08-2018 07:05:05 Service Required Critical CPU:loadaverage 6.0%
01-08-2018 07:10:25 Service Alert Critical memoryUsage
DISK OK - free space:
02-08-2018 01:05:2018 Service Alert Warning memoryUsage
CRITICAl:outstanding alert attention
02-08-2018 02:05:2018 Service Alert Critical required
预期产量:
01-08-2018 07:05:05 DISK OK - free space:Service Required Critical CRITICALservice requiredCPU:loadaverage 6.0%
01-08-2018 07:10:25 Service Alert Critical memoryUsage
02-08-201801:05:2018 DISK OK - free space:Service Alert Warning memoryUsage
02-08-2018 02:05:2018 Service Alert Critical CRITICAL:outstanding alert attention required
提前致谢
最佳答案
您可以使用awk将行合并在一起:
awk '
/^ +/{ # For lines starting with spaces,
gsub(/^ +/," "); # Replace these multiple spaces with only one
a=a $0; # Store the line into the variable a
next # Continue with the next line
}
{ # For lines not starting with spaces
$3=$3 a; # Append the variable a to the third element
a="" # Clear variable a
}
1 # Print the current line
' b.txt
点击查看更多相关文章
转载注明原文:如何在Linux Shell脚本中合并文本文件中同一行中的两行 - 乐贴网