2011-12-02 38 views
0

我的文件是这样的:bash脚本4行中的一行

1 
2 
3 
4 

如何获得结果就像用AWK或类似:

1 2 3 4 
+0

对于高度评价的SED溶液(和附加AWK溶液):http://stackoverflow.com/questions/1251999/sed-how-can-i-replace-a -newline-n – Christopher

回答

4
echo $(cat file) 

如果该文件很短。

awk '{printf("%s ",$0)}' <file 

如果你想要awk或类似的。

+0

谢谢,效果很棒! – user1078120

+0

不用客气:) –

+0

在'bash'你也可以说'echo $( potong

0
awk '{printf $0" "}' your_file 
+0

现在把'%s'放到'your_file' :) –

+0

我必须吗?当我需要格式化时,我通常会放入'%s'和其他东西。我主要使用'printf'来杀死'newline'。可能会有一些我不知道的东西。 –

+1

我的意思是,如果文件包含''%s'',那么它将被解释为一个格式字符串,并且会出错。我也用'printf'来杀死换行符,但不同的是(请参阅我的回答)。 –

1
paste -sd\ infile 

注意上面的命令包含两个空白字符(一个转义和一个普通的一个)。

+0

太好了,我总是忘记这些命令像'paste','join'那样:) - 我通常在这里写成'-sd'''来避免解释。 –

0

Perl的溶液:

perl -l40pe1 infile