我知道在Linux中我可以这样做:
$> cat file.txt > total.txt
我确实理解以下内容是一样的:
$> cat < file.txt > total.txt
因为cat基本上将stdin中的任何内容复制到stdout中
所以我想知道以下内容:
$> cat file1.txt file2.txt > total.txt
可以这样做:
$> cat < file1.txt file2.txt > total.txt
但事实证明只有file1.txt被重定向到cat 那么是否有一种方式“像括号”来分组cat或任何其他命令的参数? 如:
$> cat < (file1.txt file2.txt) > total.txt
答案 0 :(得分:0)
如果您需要将一组文件的内容作为输入发送到读取标准输入的命令,您可以使用管道,例如:
cat file1.txt file2.txt file3.txt | wc -l
假设您有一些只知道如何读取文件的实用程序,但不能使用标准输入。你可以这样做:
not-stdin-smart-util <(cat file1.txt file2.txt file3.txt)
在这种情况下,cat
可以替换为生成标准输出的任何内容,无论是否使用文件。正如评论中所观察到的,此方法对搜索操作有限制。如果实用程序正在使用mmap()
读取文件,它也将无法工作。
答案 1 :(得分:0)
如果只有txt文件
cat * .txt&gt; OUTPUT_FILE
使用此限制?或者我弄错了你?