如何获取大型目录中特定文件的行数?

时间:2014-11-02 17:31:15

标签: linux bash console-application

我有命令“find。-name'* .dmp'| xargs wc -l”来获取目录中所有dmp文件的行。转储文件命名约定是“dump-10181.dmp”,其编号是唯一的增量编号。

如何仅获取编号为50 - 678的文件的行数?

2 个答案:

答案 0 :(得分:2)

尝试以下方法:

seq 50 678 | xargs -I'{}' cat dump{} | wc -l

答案 1 :(得分:1)

比其他解决方案更长但更通用:

for f in *.dmp ; do \
    n=${f##*-}; n=${n%.dmp}; \
    [[ "$n" = "" || "$n" = *[^0-9]* ]] && continue ;\
    n=$((10#$n)) ; ((n >= 50 && n <= 678)) && cat "./$f" ;\
done | wc -l