当我有两个文件,如文件A
012
658
458
895
235
和文件B
1
2
3
4
5
怎么可能加入bash?输出shoudl只是
1012
2658
3458
4895
5235
实际上我只想按列绑定,例如在R(cbind)中。
答案 0 :(得分:6)
假设两个文件中的列长度相等,您可以使用paste
命令:
paste --delimiters='' fileB fileA
paste命令的默认分隔符是TAB。所以''确保没有分隔符。
答案 1 :(得分:2)
喜欢这样:
paste -d'\0' B A
或者,如果你喜欢awk
:
awk 'FNR==NR{A[FNR]=$0;next} {print $0,A[FNR]}' OFS='' A B
答案 2 :(得分:1)
使用纯Bash而没有外部命令:
while read -u 3 A && read -u 4 B; do
echo "${B}${A}"
done 3< File_A.txt 4< File_B.txt
答案 3 :(得分: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