分页: 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