使用shell脚本参数用冒号我有一个包含有这种格式行的文件:在AWK
2011/09/14 12:00:23.525 text
我写了一个shell脚本,在文本搜索一个给定的表达和排序的所有匹配的行按天和时间。最后,我想放弃指向比作为参数传递的时刻更早的时刻的条目。我使用awk来进行这种过滤。该脚本是这样的:
search=$1 file=$2 day=$3 time=$4
zgrep -h "$search" $file | sort -k1,1 -k2,2 | awk -v da="$day" ti="$time" '($1 >= day) && ($2>= ti) {print $0}' > out.$$
如果我调用:
myScript searchThis file1.txt 2011/09/20 09:16:52.130
我得到这个错误:
awk: ti=09:16:52.130
awk: ^syntax error
能否请你帮我解决这个问题? 非常感谢! 再见
不要你俩变化之前的任务需要'-v'? – Kusalananda
'($ 1> = day)&&($ 2> = ti)'不正确。如果日期部分>日期但时间部分<给定时间会发生什么?例如2050/01/01 01:01:01和1999/01/01 22:22:22。 – Kent
@KAK,非常感谢,我忘记了-v是问题的一部分。 – Federico