Чтение файла с n строками и вывод количества заполненных строк

set i = 1
while ($i < 5)
   echo "i is $i"
   @ i++
end

или

set i = 1
while (1)
    echo "i is $i"
    @ i++
    if ($i >= 5) break
end

Эти выходные данные:

i is 1
i is 2
i is 3
i is 4

cshв настоящее время в значительной степени вытеснен оболочками sh-, особенно на платформе Linux (, где использование cshникогда не было широко распространено с самого начала ). Большинство BSD также предлагаютsh-совместимые оболочки в качестве интерактивных оболочек по умолчанию.

Если вы изучаете программирование в оболочке, рассмотрите возможность изучения оболочки sh, если ваша работа не требует от вас изучения сценариев cshи tcsh(в этом случае вы можете использовать оболочку sh, например bash, как вашу интерактивную оболочку вне зависимости от того, с какими типами скриптов вы работаете ).

0
25.08.2019, 16:52
1 ответ
#!/bin/bash

# update status after step seconds or greater
step=5
count=0
echo "Checking for 200 status code.."
start=$(date +'%s')

sort -u "$1" | while read line; do
    http_status=$(curl -I -s "https://$line" -o /dev/null -w "%{http_code}\n")
    case "$http_status" in
        200)
            echo "$line" >> livedomains
            ;;
        302)
            echo "$line" >> redirecteddomains
            ;;
        *)
            echo "$line" >> otherdomains
    esac
    ((count++))

    now=$(date +'%s')
    if [ "$start" -le "$((now - step))" ]; then
        start=$now
        echo "completed: $count"
    fi
done

Интервал обновления установлен на 5 секунд, вы можете изменить его на 120.

Редактировать:Я передумал и использую переменную-счетчик вместо wc.

Дополнительные изменения:

  • добавлен шебанг #!/bin/bashв первую строку
  • удален ввод < $1в последней строке (, иначе он не отсортирован)
  • добавлено несколько цитат
2
28.01.2020, 02:29

Теги

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