2014-07-07 122 views
0

我有如下要求。 我正在使用Linux将文本文件合并到一个文本文件中

我有一组文本文件,如text1.txt ,text2.txt, text3.txt。 现在我组合成一个最终的文本文件。

text1.txt

1  
NULL  
NULL  
4 

text2.txt

1  
2  
NULL  
4 

text3.txt

a  
b  
c  
d 

我使用的FOL降脂命令:

paste -d ' ' text1.txt text2.txt text3.txt >> text4.txt 

我收到:

text4.txt

1 1 a 
2 b  
c 
4 4 d 

,但我想输出像下面

text4.txt

1 1 a 
NULL 2 b 
NULL NULL c 
4 4 d 

注: - NULL意味着空间

我传递这个文本4到另一个循环的输入所以这里有我的positionl读取变量

在此先感谢

+0

'粘贴-d'F1 F2 f3'为我工作得很好... –

回答

0

我希望你希望TAB在file4.txt之间分隔您的记录......这是怎么回事?

NLINES=$(wc -l file1.txt | awk '{print $1}') 
rm -f file4.txt 
for i in $(seq 1 $NLINES); do 
    rec1=$(sed -n "$i p" file1.txt) 
    rec2=$(sed -n "$i p" file2.txt) 
    rec3=$(sed -n "$i p" file3.txt) 
    echo -e "$rec1\t$rec2\t$rec3" >> file4.txt 
done 

但实际上粘贴,没有“-d”'“给出了相同的确切结果!

+0

我得到相应稳固的语法在该行9 – user3713876

+0

一对夫妇结束的错误...没有尝试 - 现在它的工作原理! – Sigismondo

+0

粘贴“-d”'“正在给我的要求。但我必须从所有文本文件中删除第一个位置。 – user3713876

0

你可以用AWK命令实现相同

awk '{a[FNR]=a[FNR]$0" "}END{for(i=1;i<=length(a);i++)print a[i]}' text1.txt text2.txt text3.txt >> text4.txt 
相关问题