нет подключения к сети Ethernet при установке Debian

Из-за того, чтоhttps://mywiki.wooledge.org/BashPitfalls#Non-atomic_writes_with_xargs_-P(вывод параллельных заданий в xargsможет быть смешанным ), я бы вместо этого использовал GNU Parallel:

cat infile |
  parallel -P0 -q curl {} -o /dev/null --silent --head --write-out "%{http_code} {}\n" > outfile

В данном конкретном случае использование xargsможет быть безопасным, потому что вывод такой короткий, поэтому проблема с использованием xargsзаключается скорее в том, что если кто-то позже изменит код, чтобы сделать что-то большее, он больше не будет безопасно. Или, если кто-то читает этот вопрос и думает, что может заменить curlчем-то другим, то это тоже может быть небезопасно.

Это может быть быстрее:

doit() {
  while read LINE; do
    curl -o /dev/null --silent --head --write-out "%{http_code} $LINE\n" "$LINE"
  done
}
export -f doit
parallel -j0 --pipepart -a infile --block -10 doit > outfile

0
12.11.2021, 16:47
0 ответов

Теги

Похожие вопросы