我需要用几行代码连接一个文本文件。这是我的处境:
USER abc
PASS 123
USER efg
PASS 456
USER hil
PASS 789等等..。
我需要这样的输出:
USER abc PASS 123
USER efg PASS 456
USER hil PASS 789我尝试过这样的解决方案:
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' ' - -作为产出,我得到的是:
USER abc
_PASS 123
USER efg
_PASS 456 其中_是一个简单的空间。
发布于 2017-05-15 14:28:06
cat file | paste -d' ' - -应该能起作用:
$ 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,以确保它有正确的行尾。
发布于 2017-05-15 14:23:06
简单易用sed:
sed 'N;s/\n/ /' fileN将下一行追加到模式空间,s/\n/ /将换行符替换为空格。
请注意,如果换行符序列不同,则必须将\n更改为正确的顺序:\r\n用于Windows文件,\r用于旧Mac文件格式.
发布于 2017-05-15 14:31:33
用浆糊:
paste -sd' \n \n' filenamehttps://stackoverflow.com/questions/43981515
复制相似问题