【问题标题】:Unix command for below file以下文件的 Unix 命令
【发布时间】:2025-12-15 12:05:04
【问题描述】:

我有一个如下所示的 CSV 文件

05032020
Col1|col2|col3|col4|col5

 Infosys
 Tcs
 Wipro
 Accenture
 Deloitte

我希望通过跳过日期和标题列来进行记录计数

O/p:记录计数 5,包括行号

猫 FF_Json_to_CSV_MAY03.txt

05032020 requestId|accountBranch|accountNumber|guaranteeGuarantor|accountPriority|accountRelationType|accountType|updatedDate|updatedBy

0000000001|5BW|52206|GG1|02|999|检查|20200503|BTCHLCE 0000000001|55F|80992|GG2|02|1999|IRA|20200503|0QLC 0000000001|55F|24977|CG|01|3999|证书|20200503|SRIKANTH 0000000002|5HJ|03349|PG|01|777|储蓄|20200503|BTCHLCE 0000000002|5M8|999158|GG3|01|900|公司|20200503|BTCHLCE 0000000002|5LL|49345|PG|01|999|公司|20200503|BTCHLCE 0000000002|5HY|15786|PG|01|999|公司|20200503|BTCHLCE 0000000003|55F|34956|CG|01|999|公司|20200503|SRIKANTH 0000000003|5BY|14399|GG10|03|10|货币标记|20200503|BTCHLCE 0000000003|5PE|32100|PG|04|999|联合|20200503|BTCHLCE 0000000003|5LB|07888|GG25|02|999|经纪|20200503|BTCHLCE 0000000004|55F|36334|CG|02|999|JOINT|20200503|BTCHLCE 0000000005|55F|06739|GG9|02|999|储蓄|20200503|BTCHLCE 0000000005|5CP|39676|PG|01|999|储蓄|20200503|BTCHLCE 0000000006|55V|62452|CG|01|10|公司|20200503|SRIKANTH 0000000007|55V|H9889|CG|01|999|储蓄|20200503|BTCHLCE 0000000007|5L2|03595|PG|02|999|公司|20200503|BTCHLCE 0000000007|55V|C1909|GG8|01|10|JOINT|20200503|BTCHLCE

我需要 00000000001 中的行号

【问题讨论】:

    标签: unix sed cat tail


    【解决方案1】:

    有两种方法可以解决您的问题:

    • 只统计你想统计的记录
    • 统计所有记录并删除您不想统计的记录

    从你的例子中,不可能知道怎么做,但让我给你一些想法:

    假设您的文件以 3 个标题行开头,那么您可以执行以下操作:

    wc -l inputfile | awk '{print $1-3}'
    

    假设你要计算的行都以一个数字和一个点开头,那么你可以这样做:

    grep "[0-9]*\." inputfile | wc -l
    

    【讨论】: