Curl
管道捲曲到 grep
您如何
curl
將下載的頁面發送到管道中,而不僅僅是在螢幕上列印這有效:
# curl -Ss -o txt https://pgl.yoyo.org/adservers/serverlist.php?showintro=0;hostformat=hosts # grep 127 txt
但這不會:
# curl -Ss -o txt https://pgl.yoyo.org/adservers/serverlist.php?showintro=0;hostformat=hosts | grep 127
這可以在不使用中間文件的情況下工作嗎?
告訴
curl
不要寫入文件 (-o txt
),並引用 URL:curl -Ss 'https://pgl.yoyo.org/adservers/serverlist.php?showintro=0;hostformat=hosts' | grep 127
由於 URL 中的分號,您的嘗試不起作用:如果它沒有被引用,它會被 shell 解釋為結束一個命令。外殼因此執行
curl -Ss -o txt https://pgl.yoyo.org/adservers/serverlist.php?showintro=0
其次是
hostformat=hosts | grep 127
後者在沒有明顯錯誤的情況下工作,因為
hostformat=hosts
它是一個有效的命令,沒有輸出。引用還可以防止
?
引起問題(它是萬用字元)。