Chris Asked: 2022-09-24 05:51:34 +0800 CST2022-09-24 05:51:34 +0800 CST 2022-09-24 05:51:34 +0800 CST 是否有一个无管道、简单的单行程序来为文件中的每一行执行命令? 772 例如, # 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 似乎应该有一些命令用于这个确切的任务,只有一个标志,但我不知道它是什么。有这样的事吗? bash command 2 个回答 Voted Stéphane Chazelas 2022-09-24T06:28:33+08:002022-09-24T06:28:33+08:00 要pip install -U使用每行的内容作为额外参数调用一次,您需要 GNUxargs并且: xargs -rd '\n' -n1 -a dependencies pip install -U 如果没有-d '\n'它,文件中的每个单词都会传递给pip install -U,请记住,xargs它会进行自己的引用处理(与任何现代 shell 中的引用处理不同)。 Best Answer Olivier Dulac 2022-09-24T06:10:51+08:002022-09-24T06:10:51+08:00 也许你只是想要: 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 %"
要
pip install -U
使用每行的内容作为额外参数调用一次,您需要 GNUxargs
并且:如果没有
-d '\n'
它,文件中的每个单词都会传递给pip install -U
,请记住,xargs
它会进行自己的引用处理(与任何现代 shell 中的引用处理不同)。也许你只是想要: