記用AWK進行for迴圈查詢文字時候的問題

2021-08-30 10:49:30 字數 1174 閱讀 8218

今天剛剛接觸awk,就想著來實驗一下,當學到for迴圈的時候,我就簡單的操作了一下

1.txt 文字如下

1 haha  heihei  houhou

2 yannie2 yannie3 yannie4

3 hilary2 hilary3 hilary4

4 czl2 czl3 czl4

5 wo2 shi3 ni4

當用按以下方法寫能輸出

awk '' 1.txt
輸出結果為:

1 haha  heihei  houhou

1haha

heihei

houhou

2 yannie2 yannie3 yannie4

2yannie2

yannie3

yannie4

3 hilary2 hilary3 hilary4

3hilary2

hilary3

hilary4

4 czl2 czl3 czl4

4czl2

czl3

czl4

5 wo2 shi3 ni4

5wo2

shi3

ni4

即先輸出$0,即當前行文字內容 然後輸出$1 這一行第一列的內容,以此類推,輸出沒有問題,由於其預設以空格為分隔符,要想設定以回車為分隔符的話,可以用-f選項 -f"\n"

但是其實我寫的時候第一次是有錯誤的

我第一次寫的如下:

awk 'begin' 1.txt

awk 'begin ' 1.txt
它輸出了5行空行

這樣寫

wk 'begin end' 1.txt
它輸出了一行空行

那這到底是為什麼呢???

因為在awk的begin中其進行的是初始化,在這一步中,已經將i初始化為4,也就是最後一行的最後乙個空列,也就是回車符,所以就失敗了~~

你可以試著將前面不能輸出awk語句中i的最大值改小一點,就會發現輸出內容了,不過當然與我們的初衷向背馳啦~

所以說還是要細心啦!!!

用SQL進行多表查詢

所謂多表查詢是相對單錶而言的,指從多個資料表中查詢資料,這裡我們主要學習從兩個資料表中如何查詢資料的方法。4.3.1 無條件多表查詢 無條件多表查詢是將各表的記錄以 笛卡爾 積的方式組合起來。如scott.dept表共有4條記錄,scott.emp表共有14條記錄,其 笛卡爾 積將有4 14 56條...

用SQL進行多表查詢

所謂多表查詢是相對單錶而言的,指從多個資料表中查詢資料,這裡我們主要學習從兩個資料表中如何查詢資料的方法。4.3.1 無條件多表查詢 無條件多表查詢是將各表的記錄以 笛卡爾 積的方式組合起來。如scott.dept表共有4條記錄,scott.emp表共有14條記錄,其 笛卡爾 積將有4 14 56條...

用HQL進行實體查詢

實體查詢 例子1 hql string hql from user user list list session.createquery hql list 因為hql語句與標準sql語句相似,所以我們也可以在hql語句中使用where字句,並且可以在where字句中使用各種表示式,比較操作符以及使用...