我需要根据模式使用sed合并文件的行.例如:
输入文件:
X1 A B C D E F
\+ G H I J 1
\+ LK T PP E OO 2
X2 DDF F Y
\+ J W Q
Run Code Online (Sandbox Code Playgroud)
....
OutPut预计:
X1 A B C D E F G H I J 1 LK T PP E OO 2
X2 DDF F Y J W Q
..
Run Code Online (Sandbox Code Playgroud)
我想在vi编辑器中等效于wat(:%s/\n +// g)
在网上搜索我发现了一个逻辑上应该有效的解决方案
sed -e'{:a; N; s/\n +// g; ta}'infile
但是这个命令违背了我的理解和逻辑,并产生了输出
X1 A B C D E F
\+ G H I J 1 LK T PP E OO 2
X2 DDF F Y
\+ J W Q
Run Code Online (Sandbox Code Playgroud)
....
欢迎提出任何想法,并提前致谢
Srisurya
pot*_*ong 18
这可能对你有用:
sed ':a;$!N;s/\n+//;ta;P;D' file
Run Code Online (Sandbox Code Playgroud)
说明:
:a 是一个循环占位符$!N 表示如果不是文件结尾追加到当前行的下一行.s/\n+// 表示删除在线结束后加号ta表示最后一次替换是否支持分支到a循环占位符P 打印到第一个换行符.D 删除最多并包括第一个换行符.| 归档时间: |
|
| 查看次数: |
9011 次 |
| 最近记录: |