Bash script / while loop arquivo de leitura extremamente lento
Eu tenho um loop while que lê um arquivo de log ftp e o coloca em uma matriz, para que eu possa pesquisar na matriz e corresponder / procurar um fluxo. Infelizmente, o loop while está demorando uma eternidade para passar pelo arquivo, é um arquivo muito grande, mas deve haver outra maneira mais rápida de fazer isso.
# read file into array for original search results
while read FTP_SEARCH
do
ogl_date[count]=`echo $FTP_SEARCH | awk '{print $1, $2}'`
ogl_time[count]=`echo $FTP_SEARCH | awk '{print $3}'`
ogl_server[count]=`echo $FTP_SEARCH | awk '{print $4}'`
ogl_id[count]=`echo $FTP_SEARCH | awk '{print $5}'`
ogl_type[count]=`echo $FTP_SEARCH | awk -F '[' '{print $1}' | awk '{print $5}'`
ogl_pid[count]=`echo $FTP_SEARCH | awk -F'[' '{print $2}' | awk -F']' '{print $1}'`
ogl_commands[count]=`echo $FTP_SEARCH | awk '{
for(i = 6; i <= NF; i++)
print $i;
}'`
let "count += 1"
done < /tmp/ftp_search.14-12-02
Dec 1 23:59:03 sslmftp1 ftpd[4152]: USER xxxxxx
Dec 1 23:59:03 sslmftp1 ftpd[4152]: PASS password
Dec 1 23:59:03 sslmftp1 ftpd[4152]: FTP LOGIN FROM 172.19.x.xx [172.19.x.xx], xxxxxx
Dec 1 23:59:03 sslmftp1 ftpd[4152]: PWD
Dec 1 23:59:03 sslmftp1 ftpd[4152]: CWD /test/data/872507/
Dec 1 23:59:03 sslmftp1 ftpd[4152]: TYPE Image`
Dec 1 23:59:03 sslmftp1 ftpd[4152]: PASV
Dec 1 23:59:04 sslmftp1 ftpd[4152]: NLST
Dec 1 23:59:04 sslmftp1 ftpd[4152]: FTP session closed
Dec 1 23:59:05 sslmftp1 ftpd[4683]: USER xxxxxx
Dec 1 23:59:05 sslmftp1 ftpd[4683]: PASS password
Dec 1 23:59:05 sslmftp1 ftpd[4683]: FTP LOGIN FROM 172.19.1.24 [172.19.x.xx], xxxxxx
Dec 1 23:59:05 sslmftp1 ftpd[4683]: PWD
Dec 1 23:59:05 sslmftp1 ftpd[4683]: CWD /test/data/944837/
Dec 1 23:59:05 sslmftp1 ftpd[4683]: TYPE Image