ksh unix中的文件行计数

ksh unix中的文件行计数,unix,ksh,Unix,Ksh,我正在尝试从一个文件中获取行数,如下面的ksh脚本中所示。但它什么也不返回: filerecordcount= $((`wc -l <../data/act.dat`)) 但当我在命令提示符下尝试相同的操作时,它会返回计数 wc -l<../data/act.dat wc-l分配零件时,不必在=之后给出空格。使用下面的一个。它会很好用的。但别忘了打印变量filerecordcount 更新: filerecordcount=$(`wc-l您不必在赋值部分中的“=”后面留出空格。使

我正在尝试从一个文件中获取行数,如下面的ksh脚本中所示。但它什么也不返回:

filerecordcount= $((`wc -l <../data/act.dat`))
但当我在命令提示符下尝试相同的操作时,它会返回计数

wc -l<../data/act.dat

wc-l分配零件时,不必在=之后给出空格。使用下面的一个。它会很好用的。但别忘了打印变量filerecordcount

更新:


filerecordcount=$(`wc-l您不必在赋值部分中的“=”后面留出空格。使用下面的一个。它可以正常工作。但是不要忘记打印变量filerecordcount

更新:


filerecordcount=$(`wc-lSimplify-Simplify。您的反引号正在执行命令扩展,它们的输出正在由
$(…)
作为算术表达式进行处理。这有点多余

filerecordcount=$(wc -l < ../data/act.dat)
或者,您甚至可以在不使用子shell的情况下使用循环执行此操作:

filerecordcount=0
while read junk; do ((filerecordcount++)); done < ../data/act.dat
filerecordcount=0
读取垃圾时;执行((filerecordcount++);完成<../data/act.dat

简化。您的反引号正在执行命令扩展,它们的输出正在由
$(…)
作为算术表达式进行处理。这有点多余

filerecordcount=$(wc -l < ../data/act.dat)
或者,您甚至可以在不使用子shell的情况下使用循环执行此操作:

filerecordcount=0
while read junk; do ((filerecordcount++)); done < ../data/act.dat
filerecordcount=0
读取垃圾时;执行((filerecordcount++);完成<../data/act.dat

现在我收到的错误是-wc-l perfect!。收到了。一个空格破坏了我的一天:(现在我收到的错误是-wc-l perfect!。收到了。一个空格破坏了我的一天:(
filerecordcount=0
while read junk; do ((filerecordcount++)); done < ../data/act.dat