使用node和npm qrcode包

时间:2017-08-04 13:48:29

标签: node.js bash npm batch-processing qr-code

如何编写脚本以将CSV文件中的名称转换为QRCODES。

我有一个名为names.csv的CSV文件,名称为5000。 我还安装了qrcode包 在我从bash

运行csv文件的文件夹中
qrcode "John Doe" john_doe.png

为John Doe创建了一个qrcode。

现在我需要从CSV创建5000多个qrcodes。我绝对没有想法,如何去做。

我也尝试过

qrcode names.csv names.png

但那只创造了1个qrcode图像。

2 个答案:

答案 0 :(得分:1)

这样的东西?

#!/bin/bash

IFS=$'\n'; 
for name in $(cat names.csv); do 
  qrcode "$name" $(echo $name | tr ' ' '_').png;
done

IFS = $'\ n' - 将新行作为分隔符。由于行中会有空格,因此您需要将其设置为新行,以便在循环中正确运行它。

tr'''_' - 这实际上设置了图像名称的输出。我们将名字和姓氏之间的空格替换为下划线 _

答案 1 :(得分:0)

另一个版本 - 限制命令替换的使用:

#!/bin/bash

set -e

while IFS= read -r name; do
  file=${name/ /_}.png
  qrcode "$name" "$file"
done < names.csv

假设文件names.csv只有一个&#34;字段&#34; - 每个完整的行是一个名称。此外,使用set -e表示如果任何qrcode调用失败,脚本将退出。