我有一个 CSV,其中的值用分号分隔。我需要将该 CSV 中的数据获取到 MongoDB 数据库中的现有集合中,如果出现此问题,这实际上是无关的。
为了更容易,我将只使用该 CSV 中的一个示例行:
echo '1243;firstName' | sed "s:\([0-9]*\)\;\(.*\):mongo localhost/test --eval \\\\'db.test.update({_id\: \1}, {name\: \"\2\"})\\\\':" | xargs -I {} sh -c "{}"
MongoDB shell version: 2.2.0
connecting to: localhost/test
Thu Apr 4 22:50:10 ReferenceError: firstName is not defined (shell eval):1
问题是,当查询到达 MongoDB 解释器时,它是未转义的。
我已经尝试在每个引用前添加多达 3 个反冲,但没有任何改变。我应该如何正确地转义引号,以便在查询到达 MongoDB 解释器之前它们会一直留在那里?