如何使用 cat 命令将文件解析为参数
How to parse file as an argument using cat command
我需要使用 cat
:
将文件解析为我的 C 代码的参数
cat filename | ./code -n 10
这样它的工作方式与:
./code filename -n 10
或者有什么方法可以直接通过cat
命令使用read
系统调用来读取文件?我在想这样的事情:
read([file from the cat], buf, sizeof(buf));
也许如果我这样做,我就不需要这样做了:
fd = open(fileName, O_RDONLY);
read(fd, buf, sizeof(buf));
第一次看到cat
这样用;我试图 google 它但找不到任何东西。
我是C语言和Unix的初学者;任何帮助,将不胜感激。
谢谢。
这是我在 Whosebug 上的第一个回答,所以请耐心等待...
"运行 cat filename 读取指定文件的内容并将其写入标准输出。| 在两个命令之间表示将左侧命令的标准输出连接到右侧命令的 标准输入命令。” cat and pipe
当您提议阅读“来自猫的文件”时...
read([file from the cat], buf, sizeof(buf));
...您应该为读取命令指定文件描述符 read(2)
原来,你可以传入“0”的文件描述符来从标准输入读取。
因此您只需执行以下操作:
read(0, buf, sizeof(buf));
我需要使用 cat
:
cat filename | ./code -n 10
这样它的工作方式与:
./code filename -n 10
或者有什么方法可以直接通过cat
命令使用read
系统调用来读取文件?我在想这样的事情:
read([file from the cat], buf, sizeof(buf));
也许如果我这样做,我就不需要这样做了:
fd = open(fileName, O_RDONLY);
read(fd, buf, sizeof(buf));
第一次看到cat
这样用;我试图 google 它但找不到任何东西。
我是C语言和Unix的初学者;任何帮助,将不胜感激。
谢谢。
这是我在 Whosebug 上的第一个回答,所以请耐心等待...
"运行 cat filename 读取指定文件的内容并将其写入标准输出。| 在两个命令之间表示将左侧命令的标准输出连接到右侧命令的 标准输入命令。” cat and pipe
当您提议阅读“来自猫的文件”时...
read([file from the cat], buf, sizeof(buf));
...您应该为读取命令指定文件描述符 read(2)
原来,你可以传入“0”的文件描述符来从标准输入读取。
因此您只需执行以下操作:
read(0, buf, sizeof(buf));