4

当我有两个文件时,例如文件 A

012
658
458
895
235

和文件 B

1
2
3
4
5

他们怎么能加入bash?输出应该是

1012
2658
3458
4895
5235

真的,我只想按列绑定,例如 R (cbind)。

4

4 回答 4

9

假设两个文件中的列长度相同,您可以使用paste命令:

paste --delimiters='' fileB fileA

粘贴命令的默认分隔符是 TAB。所以''确保没有分隔符。

于 2014-06-09T09:33:12.180 回答
2

可能像这样:

paste -d'\0' B A

或者,如果你喜欢awk

awk 'FNR==NR{A[FNR]=$0;next} {print $0,A[FNR]}' OFS='' A B
于 2014-06-09T09:31:24.137 回答
1

使用纯 Bash 而没有外部命令:

while read -u 3 A && read -u 4 B; do
    echo "${B}${A}"
done 3< File_A.txt 4< File_B.txt
于 2014-06-09T09:39:10.610 回答
0
grep "run complete" *.err | awk -F: '{print $1}'|sort > a
ls ../bam/*bam | grep -v temp | awk -F[/_] '{print $3".err"}' | sort > b 
diff <(grep "run complete" *.err | awk -F: '{print $1}'|sort) <(ls ../bam/*bam | grep -v temp | awk -F[/_] '{print $3".err"}' )
paste a b
于 2016-11-19T18:56:50.380 回答