私はコマンドを実行しています:
cat urls.txt | xargs -L 1 -P 5 timeout 40 wget
これにより、urls.txtのすべてのURLがダウンロードされます
これは以前は正常に機能していましたが、最近、ダウンロードするURLをdomain.com/54f-5g4/からdomain.com/this-that/などに変更しました
そして、何らかの理由で私は今得ています:
cat: write error: Broken pipe
実行されているコマンドを見てきましたが、それらはすべて見栄えがよく、エスケープされていない文字はありません。
誰が問題が何かを知っていますか?または、より多くのデバッグ情報を取得する方法は?問題はパイプの後のコマンドにあると思います。
更新:エラーが見つかりました。 urls.txtファイルに誤って 'を入力したようです。このエラーが発生している場合、パイプの後のコマンドに問題があります。
シェルでパイプを使用する場合:
command_1 | command_2
command_1の出力は、入力としてcommand_2にパイプされます。 command_1のすべての出力を読み取る前にcommand_2が終了した場合(たとえば、誤って'
を入力したとアップデートで言ったように間違っているため)、command_1は出力パイプが途中で閉じられたと不平を言う場合があります。