我有数百个这种格式的文件(文件中的两列按空格分隔)。
文件1:
abcd 2
efgh 1
ijkl 3
mnop 4
file2的:
abcd 1
efgh 2
mnop 2
file3的:
mnop 1
我希望以这种格式在制表符分隔文件中显示所有结果:
abcd efgh ijkl mnop
file1 2 1 3 4
file2 1 2 0 2
file3 0 0 0 1
所以,首先我需要将两列文件转换为两行。我尝试使用这个awk命令但没有工作:
awk '!(NR%2){print}' FS='\n' OFS='\t' RS= file1.txt > file1-tr.txt
转置后组合所有文件并使用ZERO输入生成单个文件的困难部分,其中文件中的某些条目没有值。不确定哪个程序可以做到这一点?!
答案 0 :(得分:2)
awk
救援!
$ awk -v OFS='\t' '{f=FILENAME; fs[f]; vs[$1]; a[f,$1]=$2}
END {for(v in vs) printf "%s", OFS v;
print "";
for(f in fs)
{printf "%s", f OFS;
for(v in vs) printf "%s", a[f,v]+0 OFS;
print ""}}' file{1..3} |
column -ts'\t'