You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu下如何使用awk打印超7列行的文件名及对应行号

列数超7行的筛选实现方案

直接基于awk补充内置变量判断和格式输出即可完成需求,不需要额外搭配其他工具:

  • 用到的awk内置变量说明:
    • FILENAME:当前正在处理的文件名
    • FNR:当前文件内的行号(单文件从1开始计数,跨文件自动重置,比全局累计计数的NR更符合单文件行号的输出需求)
    • NF:当前行按指定分隔符拆分后的字段数,也就是需要判断的列数

基础命令(文件量适中场景)

直接遍历当前目录下所有文件,输出符合文件名-行号格式的结果:

awk -F',' 'NF>7 {print FILENAME "-" FNR}' *

海量文件适配命令(数十万文件场景推荐)

如果直接用*通配符触发「参数列表过长」报错,用find搭配awk调用可以绕开shell参数长度限制,处理大批量文件更稳定:

find . -maxdepth 1 -type f -exec awk -F',' 'NF>7 {print FILENAME "-" FNR}' {} +

如果需要递归遍历当前目录下所有子文件夹的文件,删掉命令里的-maxdepth 1参数即可


内容的提问来源于stack exchange,提问作者usert4jju7

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.30 23:27:29