linux下将两个文档逐行连接

来源:百度知道 编辑:UC知道 时间:2024/06/24 13:12:08
打个比方
a文件内容是
a 1
b 2
c 3
b文件内容是
a 5
b 6
---------------------
我想出的结果是
a 1 5
b 2 6
c 3
请大家帮帮忙@@
不可以用别的编程语言,只能用shell脚本- -
我也想用C啊

下面代码是合并a.txt与b.txt文件的,结果保存在out.txt中,你可以参考一下:

#!/bin/sh
#annex.sh
count1=`wc -l a.txt|awk '{print $1}'`
count2=`wc -l b.txt|awk '{print $1}'`
n=1
temp=0
while test $n -le $count1 -a $n -le $coun
do
head -$n a.txt|tail -1>>out.txt
head -$n b.txt|tail -1>>out.txt
n=`expr $n + 1`
done

if test $n -gt $count1 #如果b.txt中还有内容
then
temp=`expr $count2 - $n + 1`
tail -$temp b.txt >>out.txt
fi

if test $n -gt $count2 #如果a.txt中还有内容
then
temp=`expr $count1 - $n + 1`
tail -$temp a.txt >>out.txt
fi

纯脚本有点难需要比较好的sed使用技巧还有正则表达式经验。如果是写c代码,就好办很多~~

去CU,SHELL版资讯吧