我想打開python的安裝位置。檢查我使用的位置。
whereis python | xargs -n 1 echo
輸出 :
/usr/bin/python3.8
/usr/bin/python3.8-config
/usr/bin/python
/usr/lib/python2.7
/usr/lib/python3.8
/usr/lib/python3.9
/etc/python3.8
/usr/local/lib/python3.8
/usr/include/python3.8
雖然我可以複製 xdg 的位置,但我不想這樣做。我想使用管道運算符並使用xdg-open
.然而,有一個問題。如何從上面的清單中選擇參數。假設我想選擇第三個位置。有什麼辦法可以做到嗎。
我想過關注,但沒有成功。
whereis python | xargs $3 xdg-open
答案1
只需在將輸出傳遞給 xargs 之前過濾輸出:
whereis python | awk '{print $3}' | xargs xdg-open
該awk
命令只會列印第三個單詞,因此這就是您將傳遞給 的所有內容xargs
。當然,xargs
當你只有一個參數時,使用是沒有意義的。也許你想要這個?
xdg-open $(whereis python | awk '{print $3}')
或者,簡單地使用which
它將返回第一的搜尋字串出現在您的$PATH
:
xdg-open $(which python)
請注意,您不能使用 打開python
,xdg-open
這是無意義的,因為沒有圖形程式可以有效地打開二進位文件,更不用說作為腳本語言的二進位檔案了。
答案2
我認為你做不到在 xargs 中- 但你可以用 shell 來做到這一點:
whereis python | xargs sh -c 'echo "$3"' sh
然而,您的特定用例並沒有真正意義,因為釩指出
答案3
xargs 的目的是重複向指令提供每一項輸入。它不會從輸入中“選擇”。如果你想這樣做,你應該使用其他工具,如 head、tail、grep。例如:
whereis python | fmt -1 | tail -n +3 | head -1