我有一个日志文件.log:
toto string1 tata string2 tito string3
tata tati string3
titi string1 tato string2 tati toto
.....
tutu string1 tita string2 tita string3
我需要从文件的每一行中提取 string1、string2 和 string3。这些行可以包含一个或两个或三个字符串。
我第一次尝试使用 while read LINE do grep:
while read line; do
z_string1=`echo $line | egrep 'string1' | cut -f2 xxx | cut -f1 xxxx`
z_string2=`echo $line | egrep 'string2' | cut -f2 xxx | cut -f1 xxxx`
z_string3=`echo $line | egrep 'string3' | cut -f2 xxx | cut -f1 xxxx`
echo "$z_string1,$z_string2,$z_string3" >> results.csv
done < file.log
这可以按预期工作,但根本没有优化,而且速度很慢。
谢谢您的帮助!