例如:
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
的输出是什么? ?
关于bash - "wc"命令的行为是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25348406/