我有一个如下文件
Emp1|FirstName|MiddleName|LastName|Address|Pincode|PhoneNumber
1234|FirstName1|MiddleName2|LastName3| Add1 || ADD2|123|000000000
2345|FirstName2|MiddleName3|LastName4|
Add1 || ADD2|
234|000000000
输出:
Emp1|FirstName|MiddleName|LastName|Address|Pincode|PhoneNumber
1234|FirstName1|MiddleName2|LastName3| Add1 || ADD2|123|000000000
2345|FirstName2|MiddleName3|LastName4| Add1 || ADD2|234|000000000
最佳答案
这里的问题不在于如何删除换行符,而是何时删除它们。幸运的是,需要与下一行连接的行可以通过尾随的 |
来确定。合适的 sed 命令是:
sed ':0;/|$/{N;s/\n//;b0}'
:0
- 脚本开头的标签/|$/
- 以|
结尾的地址行N
- 追加下一行输入s/\n//
- 删除嵌入的换行符b0
- 分支到脚本开头(以加入更多行)
关于linux - 如何从数据行中删除换行符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58939971/