Bash合并2个文件有条件
我试图合并csv的第二个字段与diff文件中的所有id。 codes.csv有2个字段:ID,说明。我在第二个cat
上不断收到错误。Bash合并2个文件有条件
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;
任何想法我在做什么错在这里?
看起来像一个简单的错字。 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;
'test'命令后不需要空格吗?即'['。在'=' – user000001 2013-02-26 16:45:02
之前和之后应该没有空格,我确实相信...已更新。 – Buggabill 2013-02-26 16:48:22
“=”等同于“==”。请参阅http://tldp.org/LDP/abs/html/comparison-ops.html – Buggabill 2013-02-26 16:51:43
好运气这... ...更好地使用真正的编程语言和CSV解析器 – 2013-02-26 16:37:56
你肯定'codes.cvs'不应该是'codes.csv'? – Buggabill 2013-02-26 16:42:11
哇....这是非常令人沮丧的。谢谢。 – ExceptionLimeCat 2013-02-26 16:45:23