Bash
是否有一個無管道、簡單的單行程序來為文件中的每一行執行命令?
例如,
# 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
似乎應該有一些命令用於這個確切的任務,只有一個標誌,但我不知道它是什麼。有這樣的事嗎?
也許你只是想要:
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
並且:xargs -rd '\n' -n1 -a dependencies pip install -U
如果沒有
-d '\n'
它,文件中的每個單詞都會傳遞給pip install -U
,請記住,xargs
它會進行自己的引用處理(與任何現代 shell 中的引用處理不同)。