简体   繁体   中英

bash: how to implement the output of 'wc -l' as an argument to another script

I have a script: 'analysis.pl' where the number of lines in a separate file are required as an input argument:

perl ./analysis.pl max=[input number of lines in separate file]

It would be very useful if I could give the output of 'wc -l separate_file' as input to the perl script.

max=`wc -l NRL.txt`
echo $max
perl ./analysis.pl max=$max

The problem is that wc -l gives the number of lines and the file name which returns an error as the argument can only take one input....

perl ./analysis.pl max=150000 separate_file ####error

So how can I get wc -l to only return the number of lines and not the file name?

当将文件作为标准输入传递时,wc不回显文件名

wc -l < NRL.txt

有很多方法可以专门解决此问题,但是一种方法是将wc的输出通过管道传输到awk并将数字从wc的输出中拉出:

max=`wc -l NRL.txt | awk '{print $1}'`

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM