私のプロキシからFacebookに接続した情報を取得する必要があります。私は2つのループを持っています。bashのカウンタをファイルに別の文字列を追加する方法に変更する
#i have format og logs, like squid.log.12.10.2017
#with `ls squid.log*` i am working with all squid logs, day by day
for i in `ls squid.log*`; do
echo "There is log $i, that we need to check"
#i am getting count of ip addresses, that were on fb.com and i am writing them to ~/temp_cache
# like this:
# 25 192.168.110.5
# 41 192.168.110.2
# where 192.168.110.5 have connected to fb.com 25 times
# and 192.168.110.2 have connected to fb.com 41 times
zgrep fb.com /var/log/$i | cut -d " " -f1 | sort | uniq -c | sort -n -k 1 >> ~/temp_cache
#i am getting only list of ip, without count of connections to facebook
# like this:
# 192.168.110.5
# 192.168.110.2
ip=$(zgrep fb.com /var/log/$i | cut -d " " -f1 | sort | uniq -c | sort -n -k 1 | awk '{print $2}')
for y in $ip; do
echo "Users from $y:"
# i have system, that we are using for projects, in this system we have log ip-addresses and logins, from these ip addresses
# like for this ip 192.168.110.5, i am getting name of user duke
# main result, like this:
# duke
# the_rock
redmine_users=$(tail -n 500000 /usr/share/redmine/log/production.log | grep -A 3 "$y" | grep "Current user" | awk '{print $3}' | head -n 1)
# i am appending to lines, name of users for these lines
# in a result it should be like this:
# 25 192.168.110.5 duke
# 41 192.168.110.2 the rock
counter=$((counter+1))
sed -i "$counter s|$| $redmine_users |" ~/temp_cache
done
# Delimiter for each day of logs
echo "------------------------------------------------" >> ~/temp_cache
done
最初に見てもらえます。しかし、それは1日だけ動作します。このスクリプトは、2番目のログに起こっている場合は、私はsquid.log.13.10.2017
を意味し、それはこのようなものを作る:
25 192.168.110.5 duke
41 192.168.110.2 the rock
______________________________ hogan
33 192.168.110.1
しかし、私はこれをしたい:
25 192.168.110.5 duke
41 192.168.110.2 the rock
______________________________
33 192.168.110.1 hogan
私は、一日のために、手動でスクリプトを実行しようとしましたライン______________________________
をexistsingと
counter=$((counter+1))
sed -i "$counter s|$| $redmine_users |" ~/temp_cache
を変更すると
しかし、私が持っている結果で:
少なくとも、私が欲しいものを、行うにはどのように ______________________________
25 192.168.110.5 duke the rock
41 192.168.110.2
:
この構造でカウンタを変更する方法 ______________________________
25 192.168.110.5 duke
41 192.168.110.2 the rock
:
counter=$((counter+1))
sed -i "$counter s|$| $redmine_users |" ~/temp_cache