我想每行合并两个文件:
fichier.text:
1;2;3
4;5;6
7;8;9
fichier 2.txt:
a;b
c;d
e;f
我想让文件fichierfusionné.txt看起来像这样:
1;2;3;a;b
4;5;6;c;d
7;8;9;e;f
这是我的代码:
paste -d ';' {fichier1,fichier2}.txt > 'fichierfusionné.txt'
使用此代码,我的文件fichierfusionné.txt包含:
1;2;3
;a;b
4;5;6
;c;d
7;8;9;e;f
我不知道如何解决这个问题,有什么可避免的选择吗?
你能帮我吗?
使用awk
是处理不同类型换行符的一种方法。
这将使输出具有Linuxn
行结尾。
awk 'FNR==NR {arr[FNR]=$0; next}{print arr[FNR],$0}' RS='(rn|r|n)' OFS=';' fichier1.txt fichier 2.txt > 'fichierfusionné.txt'
这个将使用DOS风格的rn
行结尾。
awk 'FNR==NR {arr[FNR]=$0; next}{print arr[FNR],$0}' RS='(rn|r|n)' ORS='rn' OFS=';' fichier1.txt fichier 2.txt > 'fichierfusionné.txt'
最后,MACr
行结束。
awk 'FNR==NR {arr[FNR]=$0; next}{print arr[FNR],$0}' RS='(rn|r|n)' ORS='r' OFS=';' fichier1.txt fichier 2.txt > 'fichierfusionné.txt'