Bash有条件地合并2个文件

时间:2013-02-26 16:33:51

标签: bash nested-loops cat

我正在尝试将csv的第二个字段与diff文件中的所有id合并。 codes.csv有2个字段:ID,Description。我在第二个cat上一直收到错误。

cat: codes.cvs: No such file or directory.

该文件确实存在,我正在运行与codes.csv相同的目录中的脚本。

for i in `cat diff.txt`;
do
 for j in `cat codes.cvs`;
 do
  id = `sed  "$j"`;
  desc = `sed "?=$j"`;
  if [$i == $id]
  then
    echo "$id $desc"
  fi
 done;
done;

我在这里做错了什么想法?

1 个答案:

答案 0 :(得分:1)

看起来像一个简单的拼写错误。 codes.cvs应为codes.csv,因为您指出其他地方的名称。

for i in `cat diff.txt`;
do
 for j in `cat codes.csv`;
 do
  id=`sed  "$j"`;
  desc=`sed "?=$j"`;
  if [ $i == $id ]
  then
    echo "$id $desc"
  fi
 done;
done;