【发布时间】:2017-08-13 09:55:44
【问题描述】:
我想处理一个旧数据库,其中密码是纯文本(逗号分隔;passwd 是导出数据库的 csv 文件中的第 5 个字段)以加密它们以供 dokuwiki 进一步使用。这是我的 bash 命令(grep 和 sed 用于从 curl 输出中提取加密密码):
cat users.csv | awk 'FS="," { print $4 }' | xargs -l bash -c 'curl -s --data-binary "pass1=$0&pass2=$0" "https://sprhost.com/tools/SMD5.php" -o - ' | xargs | grep -o '<tt.*tt>' | sed -e 's/tt//g' | sed -e 's/<[^>]*>//g'
-
我从 xargs 得到以下评论
xargs:不匹配的单引号;默认情况下,引号对 xargs 来说是特殊的,除非您使用 -0 选项
并且只处理文件的第一行,然后没有任何附加内容。
使用 -0 选项并使用引号并不能解决任何问题。我在命令行哪里错了?可能更高级的语言会更足以做到这一点。
谢谢你的帮助,LM
【问题讨论】: