awk中的getline函式

2022-08-19 17:09:08 字數 807 閱讀 6928

getline

getline函式得到下一行可能的返回值為:

1 如果能夠讀取一行。

0 如果到了檔案末尾。

-1 如果遇到錯誤。

從檔案中讀取

getline函式除了能讀取正常的輸入流外,還可以從檔案或管道中讀取。

while((getline<"filepath")>0)

print

將輸入賦給乙個變數

讀取下一行並賦值給變數input:

getline input

從管道讀取輸入

執行乙個命令並將結果用管道輸送到getline。

"who am i"|getline

當乙個命令的輸出結果被用管道輸送給getline且包含多個行時,必須建立乙個迴圈來執行getline。

while("who"|getline)

who_out[++i]=$0

獲取使用者標準輸入

1.getline<"-"

2.getline<"/dev/tty"

例子:awk 'begin'

三個$1

#!/bin/bash

filename:awk_whoami.sh

awk '

begin

name ~ $1

' $1

第乙個$1:getline讀取下一行將其賦給$0,故$1指新輸入行的$1。

第二個$1:指第三個$1中的且與name匹配的某一行的$1。

第三個$1:指指令碼後的引數,如./awk_whoami.sh /etc/passwd,故此$1指/etc/passwd。

C 中的getline 函式

getline 函式是c 庫函式。它會生成乙個包含一串從輸入流讀入的字元的字串,直到以下情況發生會導致生成的此字串結束。1 到檔案結束,2 遇到函式的定界符,3 輸入達到最大限度。我們一般用string輸入字串時不能讀取空格,我們可以用getline 函式從輸入流中讀取,getline 函式之前的回...

C 中的getline函式

c 中本質上有兩種getline函式,一種在標頭檔案 istream 中,是istream類的成員函式。一種在標頭檔案 string 中,是普通函式。一 在 istream 中的getline函式有兩種過載形式 istream getline char s,streamsize n istream ...

C C 中的getline函式總結

getline函式是乙個比較常見的函式。根據它的名字我們就可以知道這個函式是來完成讀入一行資料的。現在對getline函式進行乙個總結。在標準c語言中,getline函式是不存在的。下面是乙個簡單的實現方式 int getline char s,int lim 下面是乙個簡單的測試程式 int te...