Skip to content

Commit a21ecd0

Browse files
author
Serghey Rodin
committed
RACK911LABS.COM: safer log parser
1 parent b587476 commit a21ecd0

File tree

1 file changed

+13
-10
lines changed

1 file changed

+13
-10
lines changed

bin/v-list-user-log

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,10 @@ json_list() {
2323
objects=$(echo "$logs" |wc -l)
2424
echo "{"
2525
for str in $logs; do
26-
eval $str
26+
ID=$(echo "$str" |cut -f 2 -d \')
27+
DATE=$(echo "$str" |cut -f 4 -d \')
28+
TIME=$(echo "$str" |cut -f 6 -d \')
29+
CMD=$(echo "$str" |cut -f 8 -d \')
2730
CMD=${CMD//\"/\\\"}
2831
echo -n ' "'$ID'": {
2932
"CMD": "'$CMD'",
@@ -46,13 +49,9 @@ shell_list() {
4649
echo "DATE~TIME~CMD"
4750
echo "----~----~---"
4851
for str in $logs; do
49-
eval $str
50-
if [ -z "$DATE" ]; then
51-
DATE='no'
52-
fi
53-
if [ -z "$TIME" ]; then
54-
TIME='no'
55-
fi
52+
DATE=$(echo "$str" |cut -f 4 -d \')
53+
TIME=$(echo "$str" |cut -f 6 -d \')
54+
CMD=$(echo "$str" |cut -f 8 -d \')
5655
echo "$DATE~$TIME~$CMD"
5756
done
5857
}
@@ -61,7 +60,9 @@ shell_list() {
6160
plain_list() {
6261
IFS=$'\n'
6362
for str in $logs; do
64-
eval $str
63+
DATE=$(echo "$str" |cut -f 4 -d \')
64+
TIME=$(echo "$str" |cut -f 6 -d \')
65+
CMD=$(echo "$str" |cut -f 8 -d \')
6566
echo -e "$ID\t$CMD\t$UNDO\t$TIME\t$DATE"
6667
done
6768
}
@@ -71,7 +72,9 @@ csv_list() {
7172
IFS=$'\n'
7273
echo "ID,CMD,UNDO,TIME,DATE"
7374
for str in $logs; do
74-
eval $str
75+
DATE=$(echo "$str" |cut -f 4 -d \')
76+
TIME=$(echo "$str" |cut -f 6 -d \')
77+
CMD=$(echo "$str" |cut -f 8 -d \')
7578
echo "$ID,\"$CMD\",\"$UNDO\",$TIME,$DATE"
7679
done
7780
}

0 commit comments

Comments
 (0)