我有命令“find。-name'* .dmp'| xargs wc -l”来获取目录中所有dmp文件的行。转储文件命名约定是“dump-10181.dmp”,其编号是唯一的增量编号。
如何仅获取编号为50 - 678的文件的行数?
答案 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