Вы можете использовать опцию --tries.
--tries=number
Set number of retries to number. Specify 0 or inf for infinite
retrying. The default is to retry 20 times, with the exception of
fatal errors like "connection refused" or "not found" (404), which
are not retried.
Итак, --tries=0 должен выполнить трюк.
Это в сочетании с --read-timeout=seconds тоже. Секунды относятся к времени простоя: если в любой момент загрузки данные не принимаются более определенного количества секунд, чтение не выполняется, и загрузка перезапускается.
Итак, последняя команда: [ ! d4]
wget -c --tries=0 --read-timeout=20 [URL]
Не используйте для этого *. Используйте grep 'ki' trial_file.txt или grep -F 'ki' trial_file.txt.
Если вы не передадите ему опцию -x / --line-regex, grep вернет строки, содержащие совпадение где угодно, даже если вся строка не матч. Так что все, что вам нужно сделать, это совместить часть линии. Вам не нужно делать ничего особенного, чтобы указать, что может быть больше персонажей. В регулярном выражении * означает «ноль или более предыдущего элемента». Это совершенно отличается от его значения в расширении пути оболочки (см. Также эту статью, man 7 glob и этот раздел). Итак, например: ax*b соответствует a, за которым следует любое число x es (даже none), за которым следует b: ab, axb, axxb, axxxb. .. a[xz]*b соответствует a, за которым следует любое количество символов, каждое из которых является x или z, а затем b: ab, axb, azb, axxb, axzb, azxb, azzb, axxxb, ... a(xyz)*b соответствует a, после чего следует ноль или более вхождений строки xyz, а затем b: ab, axyzb , axyzxyzb, axyzxyzxyzb, ...В этом случае кажется, что вы просто ищете текст. Вам не нужно использовать какие-либо метасимволы регулярного выражения, такие как ., * или \, которые имеют особые значения. Вот почему я предлагаю передать флаг -F, который делает поиск grep «фиксированными строками» вместо выполнения регулярного выражения.
Если, однако, вы хотите только совпадение, начиная с метасимволов строки, тогда вы хотите использовать метасимвол регулярного выражения: ^, как предполагает mjb2kmn. Это привязывает ваш матч к началу линии. В этом случае вы запустите grep '^ki' trial_file.txt.
Для получения дополнительной информации об опциях grep, см. [D21] mjb2kmn предлагает и руководство GNU Grep.
] Хотя в целом я предлагаю включить регулярные выражения в руководство GNU Grep , в этом случае нет якорей , потому что оболочка не выполняет никаких расширений на ki или ^ki перед передачей их в grep.
Я думаю, что вы ожидаете диких карт shell-style здесь, но то, что вы получаете, является регулярным выражением. При поиске ki* вы запрашиваете литерал k, за которым следует 0 или более i s.
Первая строка не содержит «ki».
] Как правильно это сделать, зависит от того, что именно вы пытаетесь сопоставить.
Как уже отмечалось выше, grep "ki" может быть тем, что вы хотите, или если вы хотите совместить только строки, начинающиеся с «ki», вам понадобится grep "^ki". ^ обозначает начало строки.
Не используйте для этого *. Используйте grep 'ki' trial_file.txt или grep -F 'ki' trial_file.txt.
Если вы не передадите ему опцию -x / --line-regex, grep вернет строки, содержащие совпадение где угодно, даже если вся строка не матч. Так что все, что вам нужно сделать, это совместить часть линии. Вам не нужно делать ничего особенного, чтобы указать, что может быть больше персонажей. В регулярном выражении * означает «ноль или более предыдущего элемента». Это совершенно отличается от его значения в расширении пути оболочки (см. Также эту статью, man 7 glob и этот раздел). Итак, например: ax*b соответствует a, за которым следует любое число x es (даже none), за которым следует b: ab, axb, axxb, axxxb. .. a[xz]*b соответствует a, за которым следует любое количество символов, каждое из которых является x или z, а затем b: ab, axb, azb, axxb, axzb, azxb, azzb, axxxb, ... a(xyz)*b соответствует a, после чего следует ноль или более вхождений строки xyz, а затем b: ab, axyzb , axyzxyzb, axyzxyzxyzb, ...В этом случае кажется, что вы просто ищете текст. Вам не нужно использовать какие-либо метасимволы регулярного выражения, такие как ., * или \, которые имеют особые значения. Вот почему я предлагаю передать флаг -F, который делает поиск grep «фиксированными строками» вместо выполнения регулярного выражения.
Если, однако, вы хотите только совпадение, начиная с метасимволов строки, тогда вы хотите использовать метасимвол регулярного выражения: ^, как предполагает mjb2kmn. Это привязывает ваш матч к началу линии. В этом случае вы запустите grep '^ki' trial_file.txt.
Для получения дополнительной информации об опциях grep, см. [D21] mjb2kmn предлагает и руководство GNU Grep.
] Хотя в целом я предлагаю включить регулярные выражения в руководство GNU Grep , в этом случае нет якорей , потому что оболочка не выполняет никаких расширений на ki или ^ki перед передачей их в grep.
Я думаю, что вы ожидаете диких карт shell-style здесь, но то, что вы получаете, является регулярным выражением. При поиске ki* вы запрашиваете литерал k, за которым следует 0 или более i s.
Первая строка не содержит «ki».
] Как правильно это сделать, зависит от того, что именно вы пытаетесь сопоставить.
Как уже отмечалось выше, grep "ki" может быть тем, что вы хотите, или если вы хотите совместить только строки, начинающиеся с «ki», вам понадобится grep "^ki". ^ обозначает начало строки.