我正在学习linux的cat命令,我找到了这个命令:
$ echo 'Text through stdin' | cat - file.txt
“ - ”在这里是什么意思?如果我不输入,则不会显示“Text through stdin”。
答案 0 :(得分:9)
通常将stdin
写为破折号(-
)。
甚至man cat
提到:
没有FILE,或者当FILE是 - 时,读取标准输入。
并且联机帮助页甚至有一个示例说明破折号和普通文件名的使用(这与您原来的问题非常接近,但包括答案):
cat f - g
Output f's contents, then standard input, then g's contents.
答案 1 :(得分:3)
-
告诉cat从stdin读取。如果您将-
传递给他们,很多应用程序都会从stdin读取这种情况。
答案 2 :(得分:2)
$ echo 'Text through stdin' | cat - file.txt
-
告诉cat
从标准输入读取,在这种情况下,从管道读取,即echo 'Text through stdin'
输出。