通過管道和重定向實現linux管道命令(二)

2021-07-30 07:56:55 字數 1502 閱讀 8963

#include

#include

#define maxline 80

int main(

)/*有關snprintf()函式的是有,具體可查閱printf()函式族的使用*/

snprintf(command, sizeof(command)

,"head %s"

, buf)

;fp = popen(command,

"r")

;while

(fgets(buf, maxline, fp)!=

null

)pclose(fp)

;return 0;}

/summer]47$ .

/a.out

file            //file是我的輸入,下面都是file檔案當中的內容

dsfabcde

92381

8232

sadf

8721988

2000

1022

2012

^_^[sunny@sunny-laptop ~

/summer]48$

#include

#include

#include

#include

#include

#define maxlen 80

#define max 1024

int main(

), command2[maxlen]

=, buff[max]=;

snprintf(command1, sizeof(

"cat file"),

"cat file");

snprintf(command2, sizeof(

"sort"),

"sort");

fpin = popen(command1,

"r");/

/輸出重定向

fpout = popen(command2,

"w");/

/輸入重定向

while

(read(fileno(fpin)

, buff, max)

!= 0)/*

*或者這個while迴圈可以用這個while迴圈來代替

*while

(fgets(buff, max, fpin)!=

null)*

/pclose(fpin)

;pclose(fpout)

;return 0;}

/summer]84$ .

/a.out

1022

1988

2000

2012

8232

87292381

abcde

dsffan

sadf

^_^[sunny@sunny-laptop ~

/summer]85$

0 給主人留下些什麼吧!~~

linux重定向 管道

1 這條命令是什麼意思?cat file1 file2 grep name tee file3 file4 file5 wc l 該命令表示 將 file1 file2 中的包含 name 的行重定向輸出。使用 tee 命令表示 將該輸出有兩個去向。乙個是定向到檔案 file3,file4,flie...

重定向和管道

重定向和管道 第 3 章 命令列簡介 程序 包括圖形應用程式,但不包括絕大多數守護程式 至少使用三個檔案描述符 標準輸入 標準輸出和標準錯誤輸出 它們相應的序號是 0 1 和 2。一般來說,這三個描述符與該程序啟動的終端相關聯,其中輸入為鍵盤。重定向和管道的目的是重定向這些描述符。本節中的例項將幫助...

管道和重定向

重定向輸出 ls l 1.txt 這條命令,把本應該在標準輸出 檔案描述符為1 裝置上顯示的內容重定向到了 1.txt 檔案中,而在標準輸出中不會有任務顯示 如果當前目錄下,1.txt檔案存在,則新內容會覆蓋1.txt裡的所有內容.不存在則會在當前目錄中新建乙個1.txt ls l 2.txt 這條...