awk - 在找到包含模式的行后,我想使用 sed 或 awk 附加符合条件的多行
问题描述
我有这段文字:
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):
sed '/^Description/{:a;N;/\n[[:upper:]]/s/\n/ /;ta;P;D}' file
从行首开始收集以大写字母开头的行Description
如果您只想要不包含小写字母的行,请使用:
sed '/^Description/{:a;N;/\n.*[[:lower:]]/!s/\n/ /;ta;P;D}' file
推荐阅读
- flutter - 我是否需要为 Flutter 中的 Hive TypeAdapter 创建创建额外的模型?
- css - 为什么在某些浏览器上,背景动画会在前景框上出现故障?
- r - 计算 R 中数据框中的组之间共享 account_ID 的次数
- javascript - onmouseenter 闪烁提示
- python - 如何使用 Pyspark Dataframe 分配一行?
- java - 如何创建像电子游戏一样的 LootBox 系统
- javascript - 如何隐藏文本/ div 并用星号替换它?
- image - Octave:显示灰度矩阵显示和全黑图像的功能
- javascript - Discord Giveaway 机器人始终将机器人作为赢家
- python - 使用 BeautifulSoup Python 提取 id 的内容