0x4*_*B1D 23 shell scripting bash io-redirection
假设我有一个名为 的脚本script
,它读取stdin
一些结果并将其输出到屏幕上。
如果我想为它提供一个文件的内容,我会输入:
$ ./script < file1.txt
Run Code Online (Sandbox Code Playgroud)
但是,如果我想以相同的方式将多个文件的内容提供给脚本,这完全可能吗?到目前为止我想出的最好的是:
cat file1.txt file2.txt > combined.txt && ./script < combined.txt
Run Code Online (Sandbox Code Playgroud)
它使用两个命令并创建一个临时文件。有没有办法做同样的事情但绕过创建组合文件?
Bru*_*ger 26
您可以使用cat
和管道:
cat file1 file2 file3 ... fileN | ./script
Run Code Online (Sandbox Code Playgroud)
你的例子,使用管道,没有临时文件:
join file1.txt file2.txt | ./script
Run Code Online (Sandbox Code Playgroud)
小智 11
如果您不想使用管道,则可以使用带有进程替换的输入重定向:
./script <(cat file1 file2)
Run Code Online (Sandbox Code Playgroud)