gpt4 book ai didi

unix - cat 文件和 cat < 文件有什么区别

转载 作者:行者123 更新时间:2023-12-02 20:48:22 27 4
gpt4 key购买 nike

我理解这一点的方式是命令

cat file 

将显示文件的内容并

cat < file 

将把文件的内容作为输入。我正在尝试这个并创建了两个文件。一个名为 file1.txt,另一个名为 file2.txt。在file1.txt中,我写了file2.txt,因此通过输入命令

cat < file1.txt

,我期待显示file2.txt的内容;然而,两者 cat file1.txt and cat < file1.txt正在显示 file1.txt 的内容。我想我误解了 <.

的定义

最佳答案

何时 cat使用参数文件运行,它将打开每个文件并将其读取到标准输出。所以cat file1.txt , cat打开file1.txt并将其内容打印到标准输出:

$ cat file1.txt
file2.txt

何时 cat在没有参数文件的情况下运行,它将从标准输入读取(例如,就像直接键入 cat 一样)并写入标准输出。但是< file1.txt告诉shell(例如bash)打开文件file1.txt ,并将其重定向到 cat通过标准输入:

$ cat < file1.txt
file2.txt

如你所见,效果是一样的,cat会读取给定的文件;区别在于谁打开文件。在第一种情况下,cat被告知打开文件本身,而在第二种情况下,shell 打开它,并且 cat除了通过其标准输入传入的数据流(它应该打印)之外什么都不知道。

最后,如果你想使用file1.txt的内容作为 cat参数 ,您需要使用语法

$ cat $(< file1.txt) # same as: cat file2.txt
[...contents of file2.txt]

关于unix - cat 文件和 cat < 文件有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43301867/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com