awk中使用shell變數疑問

來源:互聯網
上載者:User
awk中使用shell變數疑問

作者:swysn     發表時間:2002/03/22 05:01pm

[這個貼子最後由valentine在 2002/10/22 08:46am 編輯]

2002/01/01
1312 32132 AA 32132131

#!/bin/sh
echo "ENTER:"
read key
cat tt|awk '{if(prev=="$key")print;prev=$1}

以上內容
如果我輸:2002/01/01
沒結果輸出!
又錯了?

此文章相關評論:
該文章有11個相關評論如下:(點這兒可以發表評論)
valentine 發表於: 2002/03/23 09:27am
[這個貼子最後由valentine在 2002/10/22 08:46am 編輯]

你的想法不錯,但awk中不能如此使用變數,可改成以下形式,便可以了。
echo "enter:"
read key
export key
cat filename|awk '{if(prev==ENVIRON["key"])print;prev=$1}'

這樣也可以:
echo "enter:"
read key
cat filename|awk '{if(prev=="'$key'")print;prev=$1}'

還有很多種方法.就不一一列舉了.可以查看於awk有關的文章.

 
pdyhww 發表於: 2002/10/08 08:05pm
版主。在AWK中使用SHELL變數還有別的方法嗎?除了你使用的:
export value
a=environ['key']
 
binary 發表於: 2002/10/08 08:15pm
-v 選項也可以指定一個變數
這個問題原來討論過,搜尋一下吧
 
獨孤求勝 發表於: 2002/11/06 09:15pm
shell變數傳給awk,我會這樣用,尤其當傳入的變數特長(>399byte)時!!!
export a="hello"
awk 'BEGIN{ "echo $a" | getline x; print x; }'
 
masher 發表於: 2002/11/07 02:05pm
var1=abcd
var2=efgh
echo "" | awk -v first=$var1 -v second=$var2 '{print first""second}'

[DISPLAY] abcdefgh

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.