首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >bash脚本:在匹配筛选器的文本文件中排成一行的最大字符数

bash脚本:在匹配筛选器的文本文件中排成一行的最大字符数
EN

Stack Overflow用户
提问于 2015-01-30 06:56:09
回答 2查看 384关注 0票数 1

需要一个linux/ unix脚本,它将告诉我目录树中任何行中的最大字符。

所以我可以指定一个根文件夹。它沿着它走下去,用一些掩码(比如*.java)处理文件--一个查找命令.然后将最大字符保留在变量中的一行中,并打印该字符。

我看到了this question,但我只想要最大的,而不需要复制到扩展表或其他处理。

不想要特定的字符想要考虑所有的字符。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-01-30 07:19:41

使用find命令:

代码语言:javascript
复制
find -type f -iname "*.java" -exec awk 'length($0)>a{a=length($0)} END{print FILENAME":"a}' {} \;

解释:

  • -type f只提供文件
  • -iname "*.java"仅以.java结尾的文件
  • -exec awk对每个文件执行awk
    • 如果该行的长度大于length($0)>a{a=length($0)},则将a设置为该长度。
    • END{print FILENAME":"a}:在末尾,打印文件名和长度

票数 1
EN

Stack Overflow用户

发布于 2015-01-30 07:13:14

这将返回当前目录中所有*java文件中的字符数最多的行(将字符数为wc -c ):

代码语言:javascript
复制
perl -e 'while(<>){$l=length;  $l>$m && do {$c=$_; $m=$l}  } print $c' *.java

这并不是你所要求的,但它是一个很好的起点。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28230728

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档