gpt4 book ai didi

Bash:查找具有最大行数的文件

转载 作者:行者123 更新时间:2023-11-29 08:55:46 24 4
gpt4 key购买 nike

这是我的尝试

  • 查找所有*.java文件
    找到。 -name '*.java'
  • 数线数
    wc -l
  • 删除最后一行
    sed '$d'
  • 使用 AWK 查找 wc 输出中的最大行数
    awk 'max==""||数据==“” || $1 > 最大值 {最大值=$1 ; data=$2} END{ 打印最大 ""data}'

然后合并成单行

find . -name '*.java' | xargs wc -l | sed '$d' | awk 'max=="" || data=="" || $1 > max {max=$1 ; data=$2} END{ print max " " data}'

我能否以某种方式实现仅对非空行进行计数?

最佳答案

find . -type f -name "*.java" -exec grep -H -c '[^[:space:]]' {} \; | \
sort -nr -t":" -k2 | awk -F: '{print $1; exit;}'

如果您还想查看非空行的数量,请将 awk 命令替换为 head -n1


命令分解:

find . -type f -name "*.java" -exec grep -H -c '[^[:space:]]' {} \; 
'---------------------------' '-----------------------'
| |
for each *.java file Use grep to count non-empty lines
-H includes filenames in the output
(output = ./full/path/to/file.java:count)

| sort -nr -t":" -k2 | awk -F: '{print $1; exit;}'
'----------------' '-------------------------'
| |
Sort the output in Print filename of the first entry (largest count)
reverse order using the then exit immediately
second column (count)

关于Bash:查找具有最大行数的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8488301/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com