繁体   English   中英

获取目录中所有文件的行数

[英]obtain the line count of all files in a directory

我在目录“ work”中有3个文件,这些文件每天都会被抽取。

文件如下图所示:

ZNAMI DOWN COND RESULT_17-08-2015.csv
ZNAMI UP CND RESULT_18-08-2015.csv
ZNAMI DOWN COND RESULT_17-08-2015.csv

这些文件有许多行,仅包含“ 、、、、、、、”作为输入以及实际数据。

我需要执行的操作如下:

  1. 打开每个文件(应该每天更改,日期部分更改)。
  2. 删除带有“ 、、、、、、、、”的行。
  3. 获取行数。

我尝试了wc -l *.csv但是它没有给出所有行的总数。 我还尝试了sed -i ",,,,,,,,,"d *.csv来删除行。 但这是行不通的。

试试看:

grep -v ",,,,,,,,," *.csv | wc -l

这将从*.csv文件中包含,,,,,,,,,每一行打印到标准输出。 将其插入wc将产生此类行的总数。

使用awk:

awk '!/,,,,,,,,,/{n++;} END{print n;}' *.csv

这将计算不包含,,,,,,,,,每一行。

  • !/,,,,,,,,,/{n++;}

    在awk中, ! 是否定。 因此,对于每行与,,,,,,,,,不匹配的行,此值将递增n

  • END{print n;}

    阅读完最后一个文件的最后一行后,打印出n的值。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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