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
中間ファイルを使用せずに動作させることはできますか?
答え1
curl
ファイル()に書き込まないように指示-o txt
し、URLを引用してください。
curl -Ss 'https://pgl.yoyo.org/adservers/serverlist.php?showintro=0;hostformat=hosts' | grep 127
URLのセミコロンのため、試行は機能しません。セミコロンを引用しないと、シェルはそれをコマンド出口として解釈します。シェルはこうして実行されます
curl -Ss -o txt https://pgl.yoyo.org/adservers/serverlist.php?showintro=0
続いて
hostformat=hosts | grep 127
後者はhostformat=hosts
出力のない有効なコマンドなので、明らかなエラーなしで動作します。
引用はまた?
問題を防ぎます(ワイルドカードです)。