例如:
myCleanVar=$( wc -l < myFile )
myDirtVar=$( wc -l myFile )
echo $myCleanVar
9
echo $myDirtVar
9 myFile
为什么在“myCleanVar”中我从“wc”命令中获得“整数”值,而在“myDirtVar”中我得到类似以下内容:“9 file.txt”?我引用“整数”是因为知道在 Bash shell 中默认情况下所有都被视为字符串,但无法理解第一个和第二个表达式的行为差异。在这种情况下,重定向“
wc
默认情况下会列出文件名,允许您在多个文件上使用它(并且有所有文件的结果)。如果未指定文件名,则使用“标准输入”(通常是控制台输入),并且不打印文件名。这<
需要指定“输入重定向”,即从给定文件读取输入而不是使用用户输入。
将所有这些信息放在一起,你就会明白原因wc
你的例子中的行为
提问时间:输出是什么cat file | wc -l
?
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)