Побег персонаж "внутри Xargs - PullRequest
0 голосов
/ 16 апреля 2020

Здравствуйте, я хочу запустить эту команду:

cat webs.txt | xargs -n1 -P8 bash -c 'curl -ks -x http://127.0.0.1:8080 -A "Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Firefox/68.0'" $0 -m 4 1>/dev/null'

И у меня возникли проблемы: Mozilla / 5.0 (X11; Linux x86_64; rv: 68.0) Gecko / 20100101 Firefox / 68.0 'с Символ "" ", я пробовал:

cat webs.txt | xargs -n1 -P8 bash -c 'curl -ks -x http://127.0.0.1:8080 -A "Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Firefox/68.0\'" $0 -m 4 1>/dev/null'

Но это не работает, я хочу добавить" "так:

Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Firefox/68.0'"

Привет

Ответы [ 2 ]

1 голос
/ 16 апреля 2020

Вы можете попробовать это xargs:

xargs -n1 -P8 bash -c "url=\"\$0\"; \
curl -ks -x http://127.0.0.1:8080 -A \"Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Firefox/68.0'\" \$url -m 4 1>/dev/null" {} < webs.txt
0 голосов
/ 16 апреля 2020

Вы почти у цели, некоторые исправления цитирования должны заставить ее работать нормально (незначительные корректировки, такие как -o/dev/null вместо перенаправления, перемещение -m4 вперед):

cat webs.txt | xargs -n1 -P8 bash -c 'curl -m4 -ks -x http://127.0.0.1:8080 -o/dev/null -A "Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Firefox/68.0" $0'
...