ホストをpingして存在することを確認し、シェルスクリプトを介して結果をファイルに送信します。

ホストをpingして存在することを確認し、シェルスクリプトを介して結果をファイルに送信します。

Windowsでカスタムファイルをクリーンアップし、hostsデッドゾーンを削除するためにホストにpingを送信し、domains.txt応答を受信したら、ホストを次に追加しますresult.txt

@echo off

>result.txt (
    for /f %%i in (domain.txt) do ping -n 1 %%i >nul && echo 127.0.0.1 %%i
)

誰もがLinuxシェルスクリプトを介して同じ機能を達成するのに役立ちますか?

ベストアンサー1

を使用している場合は、bash次のような短いスクリプトを試すことができます。

#!/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

ここでは、ホストが改行文字で区切られていると仮定しますdomains.txt

編集する:

以下は修正されたスクリプトで、ping詳細(要約)であり、ディレクトリに/path/to/directory/ファイルdomains-01.txtなどがdomains-02.txt含まれているとします。

#!/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

一時停止 - 再開動作が必要な場合は、次の点を確認してください。SIGTSTP/SIGSTOPおよびSIGCONT信号killたとえば、プロセスのPIDが2773の場合は、同様のコマンドを実行できます。

一時停止: kill -TSTP 2773、再開: kill -CONT 2773

おすすめ記事