文字稿 texttxt 部分行不是结尾如何 用linux sed 让 所有非结尾的行和下一行拼接
可以使用sed命令和正则表达式来实现这个功能。具体步骤如下:
-
打开终端,进入包含text.txt文件的目录。
-
使用以下命令来查找所有不以.结尾的行,并将其和下一行拼接:
sed -e :a -e '/\.[[:space:]]*$/!N;s/\n//;ta' text.txt在这个命令中,我们使用了两个sed命令:
:a命令用于创建一个标签a。/\.[[:space:]]*$/!N命令用于查找不以.结尾的行,并将其和下一行拼接。这个命令包含正则表达式,其中/\.[[:space:]]*$/表示以.结尾的行,!N表示如果不以.结尾,则将下一行添加到当前行。s/\n//命令用于将当前行和下一行拼接在一起,去掉中间的换行符。ta命令用于跳转到标签a,继续查找下一个不以.结尾的行。
-
执行命令后,所有不以.结尾的行和下一行都会被拼接在一起。你可以将结果输出到一个新文件中,如:
sed -e :a -e '/\.[[:space:]]*$/!N;s/\n//;ta' text.txt > new_text.txt这样就会生成一个新的文件new_text.txt,其中所有不以.结尾的行都被拼接在了一起。
注意:在这个命令中,我们使用了正则表达式来匹配行尾是否以.结尾,这可以保证只有需要拼接的行被拼接在了一起。如果你的文件中还有其他行需要拼接,可以根据需要修改正则表达式。
原文地址: http://www.cveoy.top/t/topic/GD0 著作权归作者所有。请勿转载和采集!