unix - 如何在unix中将多行合并为单行?
问题描述
我的文本文件是这样的: -
<first_load_time>29-09-2020</first_load_time>
<sql_id>qqkbwi76786</sql_id>
<first_load_time>01-01-2020</first_load_time>
<sql_id>abcdef12345</sql_id>
期望的输出:-
以下格式的文本文件
<first_load_time>29-09-2020</first_load_time><sql_id>qqkbwi76786</sql_id
<first_load_time>01-01-2020</first_load_time><sql_id>abcdef12345</sql_id>
笔记:-
- 输入文本文件的前两个块之间有一个空行。空行分隔文本文件中的文本块,在输出文件中,我需要将每个文本块放在一行中。
解决方案
给定您在某个文件中的输入,例如 input.txt,您可以^$
在 sed 中找到任何空行(在正则表达式中,表示开始后紧跟行尾)并删除它们(使用 d
),然后发送到输出文件,例如 putput.txt:
sed '/^$/ d' < input.txt > output.txt
推荐阅读
- python - 一行中两个函数调用之间的逗号
- python - 如何使用 API 与 Google Colab 交互?
- tsql - 解析 TSQL/Sybase *= 用于使用 ANTLR4 表示外连接的条件运算符
- c# - 大对象的通道和内存管理策略
- assembly - 简单 asm 程序集中的 GET_STRING 不返回字符串
- html - 如何为我的内联 svg spritesheet 图标集向用户添加“安全为 svg”选项
- c++ - 如何定义可变参数类模板的成员模板函数
- python - Python - pyautogui.pixelMatchesColor() - pyautowindll.user32.ReleaseDC 失败
- python - 屏蔽饼图 matplotlib 内的数据值
- opengl - 错误消息行号错误时如何调试着色器编译器错误?