unix,水平合并多个文本文件内容(粘贴问题)

时间:2014-02-05 09:25:58

标签: bash unix paste

好吧,我们有一个像这样的txt文件......

X 1 :   D i s t a n c e   [ m m ] 
Y 1 :   I n t e n s i t y 
X 2 :   D i s t a n c e   [ m m ] 
Y 2 :   I n t e n s i t y 
I m a g e   ( 2 3 7 . 2 3   u )              

X 1                  Y 1         
0 . 0 0 0 0 0 0      4 0 . 0 0 0 0 0 0          
0 . 0 0 2 0 0 0      5 7 . 0 0 0 0 0 0       

...等
和其他几个类似的......

X 1 :   D i s t a n c e   [ m m ] 
Y 1 :   I n t e n s i t y 
X 2 :   D i s t a n c e   [ m m ] 
Y 2 :   I n t e n s i t y 
I m a g e   ( 2 6 5 . 2 7   u )              

X 1                  Y 1          
0 . 0 0 0 0 0 0      3 6 . 0 0 0 0 0 0            
0 . 0 0 2 0 0 0      3 4 . 0 0 0 0 0 0            
0 . 0 0 4 0 0 0      4 0 . 0 0 0 0 0 0 

当我使用粘贴时,要水平合并这些文件的内容......

#! /bin/bash
zeta=$(ls)    
paste $zeta >> file_1.txt

我得到了这个(例如,如果有两个文件):

X 1 :   D i s t a n c e   [ m m ] 
X 1 :   D i s t a n c e   [ m m ] 

Y 1 :   I n t e n s i t y 
Y 1 :   I n t e n s i t y 

X 2 :   D i s t a n c e   [ m m ] 
X 2 :   D i s t a n c e   [ m m ] 

Y 2 :   I n t e n s i t y 
Y 2 :   I n t e n s i t y 

I m a g e   ( 2 3 7 . 2 3   u )              
I m a g e   ( 2 6 5 . 2 7   u )              

X 1                  Y 1         
X 1                  Y 1         

0 . 0 0 0 0 0 0      4 0 . 0 0 0 0 0 0       
0 . 0 0 0 0 0 0      3 6 . 0 0 0 0 0 0       

0 . 0 0 2 0 0 0      5 7 . 0 0 0 0 0 0       
0 . 0 0 2 0 0 0      3 4 . 0 0 0 0 0 0       

0 . 0 0 4 0 0 0      4 1 . 0 0 0 0 0 0       
0 . 0 0 4 0 0 0      4 0 . 0 0 0 0 0 0       

为什么我有这种混合线? 如何将txt文件的内容准确地放在另一个txt文件的内容之外呢?在这种情况下,我的第一个文件有第1列和第2列,第二个文件有第3列和第4列。然后大量的几个文件?

感谢任何提示,

1 个答案:

答案 0 :(得分:0)

也许你可以在行的上下文和'\ n'之间添加几个'\ t':

cat text1.txt | tr“\ n”“\ t \ t \ n”> text1.txt

在这些过程之后,您可以使用旧方法将它们粘贴在一起。 :)