如何使用SED命令将多行数字列表转换为单行格式?
使用sed命令实现多行文本转单行空格分隔
要将每行一个数字的文本文件转换为单行空格分隔的格式,你可以使用以下sed命令:
sed ':a;N;$!ba;s/\n/ /g' input.txt
命令解释:
:a:创建一个名为a的标记点,用于后续循环跳转N:将下一行文本读取到当前的模式空间中,把多行内容合并到同一空间(保留换行符)$!ba:如果当前处理的不是最后一行($!表示非末尾行),就跳转到标记a继续执行,直到所有行都被合并到模式空间s/\n/ /g:将模式空间内所有的换行符(\n)全局替换为空格
补充说明:
如果原文件最后一行末尾带有换行符,执行上述命令后可能会在结果末尾多出一个空格。要是想去掉这个多余空格,可以调整命令为:
sed ':a;N;$!ba;s/\n/ /g;s/ $//' input.txt
其中s/ $//用于删除行尾的空格。
内容的提问来源于stack exchange,提问作者Goto10
相关产品推荐
相关产品推荐

