輸入重定向 getline

2021-07-02 04:28:31 字數 1246 閱讀 2836

getline函式: getline函式用於從標準輸入、管道或檔案(非當前處理的檔案)讀取輸入。getline函式用於讀取下一輸入行,並且設定內建變數nf、nr和fnr。如果讀到一條記錄,函式就返回1. 如果讀到eof(end of fije,檔案末尾)則返回0。如果發生錯誤,比如開啟檔案失敗,則getline函式返回-1。範例

$ awk 

'begin' filename

thu jan 

1411: 24:

24 pst 

2015

說明:先執行unix/linux的date命令,將輸出通過管道發給getline,再通過getline將傳來的內容賦值給使用者自定義的變數d,然後列印d。範例

$ awk 

'begin' filename

jan

說明:先執行date命令,將輸出通過管道發給getline,接著,getline從管道讀取輸入,然後儲存在使用者自定義變數d中。split函式從d中生成乙個名為mon的陣列.最後,程式列印出陣列mon的第2個元素。範例

$ awk 

'begin'

a.out

dbdbook

file

說明:ls命令的輸出將傳遞給getline: 每迴圈一次,getline就從ls的輸出中讀取一行,並將其顯示到螢幕上,不需要輸入檔案, 因為awk會在檔案開啟之前先處理完begin塊。範例

$ awk 

'begin\

$1 ~ name \

end' filename

what is your name

? ellie  

< waits 

for input from user 

>

found ellie on line 

5.see ya

, ellie.

說明:1.在螢幕上顯示what is your name ? 然後等待使用者響應. get1ine函式將從終端(/dev/tty)接收輸入,直到使用者換行,然後,將輸入儲存在使用者自定義的變數name中。

2. 如果第乙個字段匹配之前賦給name的值,則執行print函式。

3. end語句列印出"see ya,",然後顯示ellie(儲存在變數name中的值),再跟上乙個句點。範例

$ awk 

'begin' file

16說明:awk將逐行讀取檔案/etc/passwd, lc隨之遞增直至到達eof,然後列印lc的值,即檔案passwd的行數。

輸入重定向,正確輸出重定向,錯誤輸出重定向

一 標準輸入 stdin a.輸入重定向 標準輸入 作用 將原先鍵盤輸入的內容改由檔案內容代替 root wenwen cat test.txt asdas asdas asdas 按crtl d 退出 將network內容匯入到test.txt中去 root wenwen cat test.txt...

Linux重定向(輸入輸出重定向)

我們知道,linux 中標準的輸入裝置預設指的是鍵盤,標準的輸出裝置預設指的是顯示器。而本節所要介紹的輸入 輸出重定向,完全可以從字面意思去理解,也就是 通常是用檔案或命令的執行結果來代替鍵盤作為新的輸入裝置,而新的輸出裝置通常指的就是檔案。對於輸入重定向來說,其需要用到的符號以及作用如表 1 所示...

shell重定向輸入

這條命令的作用是將標準輸出1重定向到 dev null中。dev null代表linux的空裝置檔案,所有往這個檔案裡面寫入的內容都會丟失,俗稱 黑洞 那麼執行了 dev null之後,標準輸出就會不再存在,沒有任何地方能夠找到輸出的內容。錯誤輸出將會和標準輸出輸出到同乙個地方,linux在執行sh...