If, else スクリプト

If, else スクリプト

複数行を含むログファイルがあり、各行にはIP、ユーザー名、およびURLがあります。各IPを連続して取得するエントリを作成し、IPが10で始まる場合は、それを含む行の末尾に「ON」という単語を追加する必要があります。 10で始まらない他のIPを持つ他のすべての行には、「OFF」という単語を追加する必要があります。

ログファイルの例:

10.10.10.10 jsmith1234 [URL] 
173.10.10.10 jsmith1234 [URL]

私が望むものの例:

10.10.10.10 jsmith1234 [URL] ON
173.10.10.10 jsmith1234 [URL] OFF

私はif、then、elseステートメントが機能できると思います(bashシェルスクリプトで使用されます)。しかし、私はそれらに初めて触れ、どこから始めるべきかわかりません。

ベストアンサー1

何も試してみましたか?簡単な例:

while read line; do
    if [[ $line = \10.* ]] ; then
        echo "$line ON"
    else
        echo "$line OFF"
    fi
done

したがって:

user@:~$ cat testo.txt 
10.10.10.10 jsmith1234 [URL] 
173.10.10.10 jsmith1234 [URL]

user@:~$ bash testo.sh < testo.txt 
10.10.10.10 jsmith1234 [URL] ON
173.10.10.10 jsmith1234 [URL] OFF

おすすめ記事