分页: 1 / 1

while循环从两个文件中读取数据的问题

发表于 : 2009-03-30 16:20
keome
while read LINE
do
....
done < $filename

现在的问题是,我有两个文件,想分别从两个文件(分别是filename1和filename2)中读取数据分别存入LINE1和LINE2中,然后在每次循环中进行比较,编码大概是这个样子(运行肯定通过不,只是想表达我的意思)

while read LINE1, LINE2
do
....#进行LINE1和LINE2的比较
done < $filename1, $filename2

请大家帮忙,给些意见,我该怎么做

谢谢

Re: while循环从两个文件中读取数据的问题

发表于 : 2009-03-30 21:05
c\nc
如果文件不是特大,有个简单办法:

代码: 全选

a1=(`cat file1`)
a2=(`cat file2`)
然后逐个比较 a1 和 a2 两个数组的数据数据。

Re: while循环从两个文件中读取数据的问题

发表于 : 2009-03-30 21:15
keome
c\nc 写了:如果文件不是特大,有个简单办法:

代码: 全选

a1=(`cat file1`)
a2=(`cat file2`)
然后逐个比较 a1 和 a2 两个数组的数据数据。
数据量很大,不知道有没有其他的方法,
难道linux下没有命令支持从两个文件中读取数据?

Re: while循环从两个文件中读取数据的问题

发表于 : 2009-03-30 21:23
c\nc
文件大,还高要求的话还是别写脚本了,老老实实用 C 打开文件操作吧,再加个日志功能。

Re: while循环从两个文件中读取数据的问题

发表于 : 2009-03-31 5:59
aerofox
文件两个文件中每行都是一个单词,可以这样:

代码: 全选

paste file1 file2 | while read line1 line2; do
如果文件中包含空格或制表符,可以修改 IFS,在 paste 时加上 -d 选项。

Re: while循环从两个文件中读取数据的问题

发表于 : 2009-04-05 10:52
cnkilior
diff吧。

把$IFS替换成"\n",然后在diff文件。

Re: while循环从两个文件中读取数据的问题

发表于 : 2009-04-06 19:28
wen1987
小事一桩。

代码: 全选

#!/bin/bash
exec 3<file1 4<file2
while read LINE1 <&3 && read LINE2 <&4; do
...
done