#include"stdlib.h"
#include"unistd.h"
#include"sys/types.h"
#include"sys/stat.h"
#include"string.h"
#include"fcntl.h"
#include"errno.h"
#define FIFO1 "/tmp/fifo"
#define MAXLINE 100
void client1(int)
void client2(int)
int main(int argc,char **argv)
{
int writefd
writefd=open(FIFO1,O_WRONLY,0)
client1(writefd)
client2(writefd)
close(writefd)
unlink(FIFO1)
exit(0)
}
void client1(int writefd1)//实现从文件写到管道,自己创建一个aa.txt文件
{
char buff[MAXLINE]
int fd
memset(buff,0,sizeof(buff))
fd=open("aa.txt",O_CREAT|O_RDWR,S_IRWXU)
read(fd,buff,sizeof(buff))
write(writefd1,buff,sizeof(buff))
close(fd)
}
void client2(int writefd2)//)//实现从管道写到另一个文件
{
char buff[MAXLINE]
int fd
fd=open("bb.txt",O_CREAT|O_RDWR,S_IRWXU)
read(writefd2,buff,sizeof(buff))
write(fd,buff,sizeof(buff))
close(fd)
}
我这里省略了许多判断,自己加哈
如有问题,在线交流
使用cat命令通过管道可以把一个文件的内容复制到另一个文件的末尾,命令如下:cat
要复制的文件
>>
复制到的文件
说明:
管理 *** 作符>为覆盖,>>为追加。
cat命令说明:
cat命令连接文件并打印到标准输出设备上,cat经常用来显示文件的内容,类似于windows下的type命令。
注意:当文件较大时,文本在屏幕上迅速闪过(滚屏),用户往往看不清所显示的内容。因此,一般用more等命令分屏显示。为了控制滚屏,可以按ctrl+s键,停止滚屏;按ctrl+q键可以恢复滚屏。按ctrl+c(中断)键可以终止该命令的执行,并且返回shell提示符状态。
语法
cat(选项)(参数)
选项
-n或-number:有1开始对所有输出的行数编号;
-b或--number-nonblank:和-n相似,只不过对于空白行不编号;
-s或--squeeze-blank:当遇到有连续两行以上的空白行,就代换为一行的空白行;
-a:显示不可打印字符,行尾显示“$”;
-e:等价于"-ve"选项;
-t:等价于"-vt"选项;
参数
文件列表:指定要连接的文件列表。
实例
设ml和m2是当前目录下的两个文件
cat
m1
(在屏幕上显示文件ml的内容)
cat
m1
m2
(同时显示文件ml和m2的内容)
cat
m1
m2
>
file
(将文件ml和m2合并后放入文件file中)
先将内容读出,再使用截取工具,最后将内容重定向放到另一个文件中。例:将filename1的第n行放到filename2中。
# cat filename1 | sed -n 'np' >>filename2
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)