Ik probeer een script te schrijven dat logs uit een bepaalde map word weergegeven en men daaruit een keuze kunnen maken om één van die logs te laten verwerken door awk.
maar het lukt me niet om de naam van iederelog als waarde aan een variabele te geven.
Met let en set, wil het me niet lukken.
De volgende code heb ik:
Kunnen jullie me helpen?
maar het lukt me niet om de naam van iederelog als waarde aan een variabele te geven.
Met let en set, wil het me niet lukken.
De volgende code heb ik:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
| #!/bin/bash
menunummer=0
lognummer=0
log1=0
log2=0
echo ""
echo "Welke Log wilt u verwerken??"
echo "------------------------------------------------------"
for iederelog in `ls | grep firewall`;
do
# Kijk in iedere logbestand en haal de start en einddatum
start=`head -n1 $iederelog | awk '{print $1,$2,$3}'`
einde=`tail -n1 $iederelog | awk '{print $1,$2,$3}'`
# Hoogmemnu nummer op
let menunummer=menunummer+1
# Geef menunummer, start- en einddatum weer
echo "($menunummer) $iederelog"
echo "start: $start"
echo "einde: $einde"
# geef log1 t/m log6 de naam van een log
let "log1=$iederelog"
done
echo "------------------------------------------------------"
echo "Typ een log naaer keuze in (1 t/m $menunummer): "
echo "$log1"
read keuze
case $keuze in
1) awk -f $log1 >> teanalyseren.log ;;
2) awk -f $log2 >> teanalyseren.log ;;
esac |
Kunnen jullie me helpen?