Se você estiver usando bash
, você pode tentar este pequeno script:
#!/bin/bash
while IFS= read -r host; do
[[ $(ping -c4 "$host") ]] 2>/dev/null && echo "$host" >> /path/to/result.txt
done < /path/to/domains.txt
Aqui, assumi que os hosts em domains.txt
são separados por nova linha.
EDITAR:
Aqui está o script modificado com ping
sendo detalhado (sumarizado) e assumindo que o diretório /path/to/directory/
contém os arquivos domains-01.txt
, domains-02.txt
etc.
#!/bin/bash
for file in /path/to/directory/domains-*.txt; do
while IFS= read -r host; do
ping -qc4 "$host" && echo "$host" >> /where/to/save/result.txt
done < "$file"
done
Se você quiser o comportamento de pausa no currículo, consulte SIGTSTP
/ SIGSTOP
e SIGCONT
sinais que podem ser emitidos com kill
e comandos semelhantes, por exemplo se o PID do processo for 2773, então:
Para suspender: kill -TSTP 2773
, para retomar: kill -CONT 2773
.