Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
试图做类似的事情:
# redis-cli keys "resque:lock:*" |xargs -0 redis-cli del xargs: argument line too long
解决此问题的最佳方法是什么?
摆脱-0. 我对 redis 不熟悉,但据我所知redis-cli keys,它不使用 NUL 分隔符。
-0
redis-cli keys
没有它就呕吐的原因是它处理引号的方式。来自man xargs:
man xargs
xargs从标准输入中读取项目,由空格(可以用双引号或单引号或反斜杠保护)或换行符分隔,并执行命令(默认为 /bin/echo)一次或多次,后面跟着任何初始参数通过从标准输入读取的项目。标准输入上的空行被忽略。
试试xargs -d '\n'。这将禁用 xarg 的“智能”引用处理并告诉它逐行读取参数。
xargs -d '\n'