我有一个文本文件,其中包含不同变量的可能值范围
1. life: short,long,na.
2. weather_f: cloudy,rainy,sunny,foggy,cold,warm,mild,
humid,na.
3. sea_temp: warm,mild,cold,na.
我想得到一个看起来像这样的输出文件
short,long,na
cloudy,rainy,sunny,foggy,cold,warm,mild,humid,na
warm,mild,cold,na
我尝试使用sed
它,但新行weather_f
让我很难过。我怎样才能达到预期的输出?
当一行以逗号结尾时,立即将下一行附加到缓冲区。这是通过
sed
使用表达式完成的该
N
命令将下一行附加到缓冲区中的文本,并在两者之间使用换行符作为分隔符。要允许多个这样的连续行,请循环回到循环的开头以检查缓冲区末尾是否有逗号。
在此之后,我们不再需要附加到缓冲区中的行,因此我们可以开始修剪行并按照我们想要的方式排列它。这包括删除直到第一个
:
字符的所有内容,删除所有类似空格的字符(包括由 插入的换行符N
),并在最后切掉点。整个编辑脚本将是
这可以使用文件(此处为
script
)中的脚本执行,例如或者,如果您想在命令行上键入脚本,
鉴于您问题中的数据,这将输出
一些
sed
实现可能需要b again
是它自己的表达式: