使用 awk 或 sed 连接两个连续行
如何使用 awk 或 sed 连接两行?
我的数据如下所示:
abcd
joinabcd
efgh
joinefgh
ijkl
joinijkl
我需要如下所示的输出:
joinabcdabcd
joinefghefgh
joinijklijkl
How would I join two lines using awk or sed?
I have data that looks like this:
abcd
joinabcd
efgh
joinefgh
ijkl
joinijkl
I need an output like the one below:
joinabcdabcd
joinefghefgh
joinijklijkl
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(7)
您可以将 printf 与三元一起使用:
You can use printf with a ternary:
不需要 sed。
No need for sed.
这是 sed 中的:
Here it is in sed:
他们说模仿是最真诚的奉承形式。
这是受 Dimitre 的 awk 代码启发的 Perl 解决方案:
$_
是当前行$.
是行号They say imitation is the sincerest form of flattery.
Here's a Perl solution inspired by Dimitre's awk code:
$_
is the current line$.
is the line number对上面的“sed”脚本进行一些改进,需要执行以下操作:
1008
-2734406.132904
2846
-2734414.838455
4636
-2734413.594009
6456
-2734417.316269
8276
-2734414.779617
1008 -2734406.132904
2846 -2734414.838455
4636 -2734413.594009
6456 -2734417.316269
8276 -2734414.779617
Some improvement to the "sed" script above that will take the following:
1008
-2734406.132904
2846
-2734414.838455
4636
-2734413.594009
6456
-2734417.316269
8276
-2734414.779617
1008 -2734406.132904
2846 -2734414.838455
4636 -2734413.594009
6456 -2734417.316269
8276 -2734414.779617
这是命令中“如何使计数和文件出现在同一行”问题的答案:
Bryon Nicolson 的答案产生了最好的结果。
This is the answer to the question "How to make the count and the file appear on the same line" in the command:
Bryon Nicolson's answer produced the best result.