我有一个脚本:"analysis.pl",其中需要单独文件中的行数作为输入参数:
perl ./analysis.pl max=[input number of lines in separate file]
如果我能给出 'wc -l separate_file' 的输出作为 perl 脚本的输入,那将非常有用。
max=`wc -l NRL.txt`
echo $max
perl ./analysis.pl max=$max
问题是wc -l给出了行数和文件名,该文件名返回错误,因为参数只能接受一个输入。
perl ./analysis.pl max=150000 separate_file ####error
那么如何让 wc -l 只返回行数而不是文件名呢?
将文件作为标准输入传递时 WC 不回显文件名
wc -l < NRL.txt
有很多方法可以具体解决这个问题,但一种方法是通过管道将 wc 的输出传输到 awk 并从 wc 的输出中提取数字:
max=`wc -l NRL.txt | awk '{print $1}'`