我想在找到包含模式的行之后,使用sed或awk来追加满足条件的多行

我想在找到包含模式的行之后,使用sed或awk来追加满足条件的多行,awk,sed,Awk,Sed,我有以下案文: Sample: 1 Description: THIS SAMPLE CONTAINS DATA FROM WITH THE FOLLOWING CRITERIA BLAH BLAH BLAH BLAH BLAH BLAH. random label: 如何连接文件中的某些行,使其看起来像这样: Sample: 1 Description: THIS SAMPLE CONTAINS DATA MEETING THE FOLLOWING CRITERIA BLAH BLAH

我有以下案文:

Sample: 1
Description: THIS SAMPLE CONTAINS DATA FROM WITH THE FOLLOWING CRITERIA
BLAH BLAH BLAH
BLAH BLAH BLAH.   
random label:
如何连接文件中的某些行,使其看起来像这样:

Sample: 1
Description: THIS SAMPLE CONTAINS DATA MEETING THE FOLLOWING CRITERIA BLAH BLAH BLAH BLAH BLAH.
random label:
唯一确定的是 紧跟在“Description”之后的每一行(以开头并包含所有大写字母)都将连接到包含“Description”的行

随机标签,表示标签将是60个标签中的一个。

这可能适用于您(GNU-sed):

收集以大写字母开头的行,从开始的行开始
Description

如果只需要不包含小写字母的行,请使用:

sed '/^Description/{:a;N;/\n.*[[:lower:]]/!s/\n/ /;ta;P;D}' file

为了解决这个问题,你做了什么。我们在这里帮助您编写代码。如果您需要答案,请解释为什么
诸如此类。
不包含所有大写字母的代码仍然是串联的。您的意思是要在所有后续行中使用字母,但不使用小写字母?什么是数字行,比如说
12.35
?这些废话都是大写的。任何包含小写字母的行都不能连接。不包含数字。一旦找到标签“Description:”,规范将连接以下所有以大写字符开头的行。继续这样做,直到出现一行不以大写字母开头的字符/^描述:/{N;/\N[^[:lower:]*[:lower:]/!s/\N//;ta}'文件>新文件您的解决方案不包括以描述开头的行。不过,它确实用大写字母连接了所有其他行。好的开始:)
sed '/^Description/{:a;N;/\n.*[[:lower:]]/!s/\n/ /;ta;P;D}' file