使用node和npm qrcode包生成批量二维码

Generate batch QR Codes with node and npm qrcode package

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

我有一个名为 names.csv 的 CSV 文件,其中包含 5000 个名称。 我还安装了 qrcode 包 在 csv 文件所在的文件夹中我 运行 from bash

qrcode "John Doe" john_doe.png

这为 John Doe 创建了一个二维码。

现在我需要从 CSV 创建 5000 个以上的二维码。我完全不知道该怎么做。

我也试过了运行

qrcode names.csv names.png

但这只创建了 1 个二维码图像。

是这样的吗?

#!/bin/bash

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

IFS=$'\n' - 以新行作为分隔符。由于您的行中会有白色 spaces,因此您希望将其设置为新行以正确 运行 它通过循环。

tr ' ' '_' - 这实际上设置了图像名称的输出。我们将First name和Last name之间的space替换为下划线_

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

#!/bin/bash

set -e

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

假设文件 names.csv 只有一个 "field" - 每行都是一个名称。此外,使用 set -e 意味着如果任何 qrcode 调用失败,脚本将退出。