我有一个看起来像这样的csv文件
Stanza 07,41912087207
Stanza 08,41912087208
Stanza 09,41912087209
和另一个看起来像这样的
0101*200,0789240959,centralino,101,2016-03-03 14:02:35,281,1.47,,4178,"La Perla" <41917913577>
0101*200,0789240959,centralino,101,2016-03-03 14:02:35,281,500.12,,4178,"La Perla" <41912087207>
0101*200,0917911974,centralino,101,2016-03-03 14:52:16,0,0,,41,"La Perla" <41917913577>
所以我想从第一个文件中获取ID值,检查它是否存在于第二个csv文件中,如果存在,则在第六个逗号之后打印出值,在上面的行中,因为它有500.12,因为有一个ID出现在两个CSV文件41912087207上。
这是我的代码
<?PHP
$search= "41912087207";
$linescdr = file('cdr.txt');
$linesstanze = file('stanze.txt');
while (list($key, $line1) = each($linesstanze)) {
$arrr = explode(",", $line1);
while (list($key, $line) = each($linescdr)) {
if(strpos($line, $arrr[1])){
$arr = explode(",", $line);
echo $arr[6];
echo "<br>";
}
}
}
?>
在这行代码中
if(strpos($line, $arrr[1])){
如果我把$ search在文件的开头声明,它可以工作,但如果我把$ arrr [1]从stanze.txt中的ID逐个放入while循环中,它就不会好像什么都做。
答案 0 :(得分:0)
for id in $(cut -f2 -d',' file1); do cat file2 | grep $id | cut -f7 -d','; done
然后跳,你已经完成了;