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

Linux 如何获取大目录中特定文件的行数?,linux,bash,console-application,Linux,Bash,Console Application,我使用命令“find.-name'*.dmp'| xargs wc-l”从目录中的所有dmp文件中获取行。转储文件命名约定为“dump-10181.dmp”,编号为唯一的增量编号 如何仅获取编号为50-678的文件的行数?比其他解决方案长,但更通用: for f in *.dmp ; do \ n=${f##*-}; n=${n%.dmp}; \ [[ "$n" = "" || "$n" = *[^0-9]* ]] && continue ;\ n=$((

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


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

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

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
用于*.dmp中的f;做\
n=${f##*-};n=${n%.dmp}\
[[“$n”=”| |“$n”=*[^0-9]*]]&&continue\
n=$((10#$n));((n>=50&&n请尝试以下操作:

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

这个:
wc-l dump-{50..678}.dmp
如果你对50..300和400..678感兴趣,你可以试试这个:
wc-l dump-{{50..300},{400..768}.dmp
请给我一些问题的例子!我添加了所有这些反斜杠和半列以获得可读性。修复了;你看到其他问题了吗?
)。