获取行数并存储在结果集中

use*_*619 3 shell-script

需要计算文件中的行数并将其存储在结果集中。

for file in *.csv
do
  num_of_lines=wc -l "$file"
  split -n 5 -d -a 2  "$file" "$file"
done
Run Code Online (Sandbox Code Playgroud)

我确定我在这一行中错了:num_of_lines=wc -l "$file"。正确的做法是什么?

Ram*_*esh 11

你的num_of_lines应该是

num_of_lines=$(wc -l "$file")
Run Code Online (Sandbox Code Playgroud)

得到字数的输出。

但是,上面的命令也会打印文件名。根据@1_CR 的评论,这可以避免。

num_of_lines=$(< "$file" wc -l)
Run Code Online (Sandbox Code Playgroud)