首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >巴什-连接线与下面的一条

巴什-连接线与下面的一条
EN

Stack Overflow用户
提问于 2017-05-15 14:02:05
回答 4查看 90关注 0票数 2

我需要用几行代码连接一个文本文件。这是我的处境:

代码语言:javascript
复制
USER abc  
PASS 123  
USER efg  
PASS 456   
USER hil  
PASS 789

等等..。

我需要这样的输出:

代码语言:javascript
复制
USER abc PASS 123  
USER efg PASS 456     
USER hil PASS 789

我尝试过这样的解决方案:

代码语言:javascript
复制
awk 'NR % 2 == 1 { o=$0 ; next } { print o "<sep>" $0 } END { if ( NR % 2 == 1 ) { print o } }' INPUTFILE

sed -rn 'N;s/\n/ /;p' yourFile

cat file | paste -d' ' - -

作为产出,我得到的是:

代码语言:javascript
复制
USER abc  
_PASS 123  
USER efg  
_PASS 456  

其中_是一个简单的空间。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2017-05-15 14:28:06

cat file | paste -d' ' - -应该能起作用:

代码语言:javascript
复制
$ cat /tmp/t.txt
USER abc
PASS 123
USER efg
PASS 456
USER hil
PASS 789
$ cat /tmp/t.txt | paste -d' '  - -
USER abc PASS 123
USER efg PASS 456
USER hil PASS 789

如果没有,请尝试在您的文件上运行dos2unix,以确保它有正确的行尾。

票数 0
EN

Stack Overflow用户

发布于 2017-05-15 14:23:06

简单易用sed:

代码语言:javascript
复制
sed 'N;s/\n/ /' file

N将下一行追加到模式空间,s/\n/ /将换行符替换为空格。

请注意,如果换行符序列不同,则必须将\n更改为正确的顺序:\r\n用于Windows文件,\r用于旧Mac文件格式.

票数 0
EN

Stack Overflow用户

发布于 2017-05-15 14:31:33

用浆糊:

代码语言:javascript
复制
paste -sd' \n \n' filename
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43981515

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档