2002/01/01
1312 32132 AA 32132131
#!/bin/sh
echo "ENTER:"
read key
cat ttawk '{if(prev=="$key")print;prev=$1}
以上內容
如果我輸:2002/01/01
沒結果輸出!
又錯了?
你的想法不錯,但awk中不能如此使用變量,可改成以下形式,便可以了。
echo "enter:"
read key
eXPort key
cat filenameawk '{if(prev==ENVIRON["key"])print;prev=$1}'
這樣也可以:
echo "enter:"
read key
cat filenameawk '{if(prev=="'$key'")print;prev=$1}'
還有很多種方法.就不一一列舉了.可以查看於awk有關的帖子.
版主。在AWK中使用SHELL變量還有別的方法嗎?除了你使用的:
export value
a=environ['key']
-v 選項也可以指定一個變量
這個問題原來討論過,搜索一下吧
shell變量傳給awk,我會這樣用,尤其當傳入的變量特長(>399byte)時!!!
export a="hello"
awk 'BEGIN{ "echo $a" getline x; print x; }'
var1=abcd
var2=efgh
echo "" awk -v first=$var1 -v second=$var2 '{print first""second}'
[DISPLAY] abcdefgh