例如,
# a demonstration of the functionality
cat dependencies | xargs -n 1 pip install -U
# expressed as a non-simple, pipeless one liner
awk '{system("pip install -U $0")}' dependencies
似乎应该有一些命令来完成这个只有一个标志的任务,但我不知道它是什么。有这样的事吗?
答案1
为了pip install -U
使用每行的内容作为额外参数调用一次,您需要 GNUxargs
和:
xargs -rd '\n' -n1 -a dependencies pip install -U
没有-d '\n'
它的每一个单词在传递给 的文件中pip install -U
,请记住,它xargs
会进行自己的报价处理(与任何现代 shell 中的报价处理不同)。
答案2
也许你只是想要:
xargs -n 1 pip install -U < dependencies
# or perhaps more readable:
<dependencies xargs -n 1 pip install -U
# and if you don't want to | bash it:
<dependencies xargs -I% -d" " -n 1 bash -c "pip install -U %"