使用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