藍森林首頁 | 返回主頁 | 本站地圖 | 站內搜索 | 聯繫信箱 |
 您目前的位置:首頁 > 自由軟件 > 技術交流 > 應用編程


    

藍森林 http://www.lslnet.com 2006年6月26日 11:18


請教一個awk的問題?

--------------------------------------------------------------------------------


[root@localhost shell]# vi awkceshi1
218.112.134.67 aaaa aaaa
999.112.134.67 dddd dddd
888.112.134.67 ffff ffff
777.112.134.67 gggg gggg
218.112.134.67 kkkk kkkk




[root@localhost shell]# awk '{if($1=="218.112.134.67") print $0}' awkceshi1
218.112.134.67 aaaa aaaa
218.112.134.67 kkkk kkkk

這個是我的操作過程,資料上說上面的命令會打印出awkceshi1的所有行,可是我的在才打出上面2行.

我修改了
[root@localhost shell]# vi awkceshi1
218.112.134.67
999.112.134.67 dddd dddd
888.112.134.67 ffff ffff
777.112.134.67 gggg gggg
218.112.134.67 kkkk kkkk


[root@localhost shell]# awk '{if($1=="218.112.134.67") print $0}' awkceshi1
218.112.134.67
218.112.134.67 kkkk kkkk

我又加了個:,,
[root@localhost shell]# vi awkceshi1
218.112.134.67
999.112.134.67 dddd dddd
888.112.134.67 ffff ffff
777.112.134.67 gggg gggg
218.112.134.67 kkkk kkkk
[root@localhost shell]# awk -F : '{if($1=="218.112.134.67") print $0}' awkceshi1

218.112.134.67
我加了個:號,結果輸出了2行:一個空行和218.112.134.67


???????????????????????????????????


但是結果仍然是這樣的!   

請教大家了!

請教一個awk的問題?

資料錯了

請教一個awk的問題?

你的意思是:
[root@localhost shell]# awk '{if($1=="218.112.134.67") print $0}' awkceshi1

這句命令錯了嗎?

他主要是想演示下,awk操作中自己的流控制,這樣的演示不對嗎,那他自己的示例是正確通過的,我懷疑可能有一個大家都可能忽略的地方??

如果他的錯了(但估計他不會錯的,他應該是極有威信的。),那本例子的awk自己的流控制,如果首行匹配,就打印出文本所 有內容這個命令怎麼寫呢?


向各位大俠請教了!

請教一個awk的問題?

你想得到什麼結果?命令沒有錯啊!

請教一個awk的問題?

關鍵是我並沒有得到全部的文本內容啊!

這個是原文本內容:
[root@localhost shell]# vi awkceshi1
218.112.134.67
999.112.134.67 dddd dddd
888.112.134.67 ffff ffff
777.112.134.67 gggg gggg
218.112.134.67 kkkk kkkk

這個是我得到的內容:
[root@localhost shell]# awk '{if($1=="218.112.134.67") print $0}' awkceshi1
218.112.134.67
218.112.134.67 kkkk kkkk

應該是文本的全部內容啊!

正是因為有差距,所以我才提問的!!

謝謝,希望朋友們能幫我解答下這個疑惑。

請教一個awk的問題?

if($1=="218.112.134.67")
知道啥意思嗎

請教一個awk的問題?

awk '1'  awkceshi1

先讀入門兩遍吧

http://phi.sinica.edu.tw/aspac/reports/94/94011/

請教一個awk的問題?

-->
waker哥,你不能拆咱cu的台啊!你該推薦cu的置頂的帖子。
:m01:  :m01:

請教一個awk的問題?

如果你想打印所有的行直接 awk '{print $0}' filename 不就完了嗎?
if($1=="aaaa")  prit $0  的意思是如果第一列的內容等於aaaa 的話把 符合條件的打印出來,按你的寫法,當然是2行了!

請教一個awk的問題?

-->

老大,現在懂了,多謝!

-->

是啊,我正入門呢,一定努力學的,謝謝點撥。

-->

謝謝啊,剛讀了wingger的,不錯啊。



-->

感謝西門子!你的話讓我一下子明白了。


總結:其實是我個人的基礎太差,理解錯誤,本貼的這個awk的命令已經正確運行了,我本來就運行的是輸出匹配「218*」的所有文本行啊,但我看資料的時候,忘了「匹配」2個字,所以才把自己搞暈了,自己太粗心了。

呵呵,這樣怎麼才 能趕上樓上的各位高手呢,,,,努力中。



Copyright © 1999-2000 LSLNET.COM. All rights reserved. 藍森林網站 版權所有。 E-mail : webmaster@lslnet.com