我想弄清楚这个命令的用法:
echo < a.txt
根据教科书,它应该重定向程序标准输入。现在我将a.txt重定向到echo,但它没有打印文件的内容,而是打印出一个空行!欣赏任何人表现出这种行为。
eblbsuwk1#
在Unix中,我相信你所要做的就是,假设你有一个不太大的文件:cat <filename>不需要echo。
cat <filename>
echo
ffscu2ro2#
使用下面的命令来打印文件内容使用echo,
echo `cat file.txt`
在这里,你也可以得到所有的回显功能的好处,我最喜欢删除尾随换行符,(以获得与缓冲区完全相同的哈希值,而不是文件)
echo -n `cat file.txt` | sha256sum
ev7lccsx3#
cat命令将显示带有CR或return的文件:
$ cat names.txt Homer Marge Bart Lisa Maggie
你可以使用echo命令和cat作为命令替换。但是,它将替换CR或返回(unix:\n)带空格:
$ echo $(cat names.txt) Homer Marge Bart Lisa Maggie
如果您想通过管道进行进一步的数据处理,这可能是一个有趣的特性。例如,用sed命令替换空格。
mzsu5hc04#
**echo命令不接受标准输入(STDIN)的数据,只对传入的参数起作用。
STDIN
因此,如果我们将数据从标准输入传递到echo,例如对于<或|,它将被忽略,因为echo只使用参数。
<
|
可以通过echo和xargs命令一起使用来更改,该命令用于调用参数为标准输入数据的命令。
xargs
例如:
xargs echo < file.txt
或
cat file.txt | xargs echo
30byixjq5#
您可以使用
type test.txt pause
9cbw7uwe6#
echo不读取标准输入,所以在这种情况下,重定向是没有意义的。echo "Hello" | echo要打印出文件,只需使用下面的命令echo "$(<a.txt )"
echo "Hello" | echo
echo "$(<a.txt )"
6条答案
按热度按时间eblbsuwk1#
在Unix中,我相信你所要做的就是,假设你有一个不太大的文件:
cat <filename>
不需要
echo
。ffscu2ro2#
使用下面的命令来打印文件内容使用echo,
在这里,你也可以得到所有的回显功能的好处,我最喜欢删除尾随换行符,(以获得与缓冲区完全相同的哈希值,而不是文件)
ev7lccsx3#
cat命令将显示带有CR或return的文件:
你可以使用echo命令和cat作为命令替换。但是,它将替换CR或返回(unix:\n)带空格:
如果您想通过管道进行进一步的数据处理,这可能是一个有趣的特性。例如,用sed命令替换空格。
mzsu5hc04#
**
echo
命令不接受标准输入(STDIN
)的数据,只对传入的参数起作用。因此,如果我们将数据从标准输入传递到
echo
,例如对于<
或|
,它将被忽略,因为echo
只使用参数。可以通过
echo
和xargs
命令一起使用来更改,该命令用于调用参数为标准输入数据的命令。例如:
或
30byixjq5#
您可以使用
9cbw7uwe6#
echo
不读取标准输入,所以在这种情况下,重定向是没有意义的。echo "Hello" | echo
要打印出文件,只需使用下面的命令
echo "$(<a.txt )"