使用find命令结合grep和wc命令实现。
find . -type f -name "?????????*" -exec sh -c 'for filename do [[ $(wc -l < "$filename") -gt 10 ]] && echo "$filename"; done' sh {} +
说明:
- find命令用于查找满足特定条件的文件;
- -type f表示查找文件类型为普通文件;
- -name "?????????"表示查找文件名长度大于10个字符的文件。其中"?"代表单个字符,""代表任意字符;
- -exec后跟的部分表示执行的命令,这里是一个子shell命令;
- sh -c表示执行子shell命令;
- for filename do表示取出find命令输出的文件名,保存到filename变量中;
- wc -l < "$filename"表示统计文件的行数;
- [[ $(...) -gt 10 ]]是一个条件判断语句,表示当文件行数大于10时满足条件;
- echo "$filename"表示输出文件名。