首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Awk脚本,它以目录的路径作为输入,并显示大小超过限制的所有文件?

问Awk脚本,它以目录的路径作为输入,并显示大小超过限制的所有文件?
EN

Stack Overflow用户
提问于 2019-03-20 17:02:38
回答 3查看 255关注 0票数 0

我对linux和awk相当陌生。我想显示所有的文件,其大小大于(例如3Kb),并且这些文件是在一个目录中找到的路径是由用户指定的。

我通过对终端中的路径进行“硬编码”来做到这一点:

代码语言:javascript
复制
ls -l /home/user/Documents | ./testScript

testScript包含:

代码语言:javascript
复制
#!/bin/bash -f
awk '
    BEGIN{
        if($5>3000){
            print $9
        }
    }
'

如何在用户指定目录路径的情况下做到这一点?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2019-03-20 17:36:11

与ls和脚本的组合相比,使用find更容易。

代码语言:javascript
复制
find PATH_TO_DIRECTORY -size +10k

你可以把它变成一个带参数的bash函数。

票数 2
EN

Stack Overflow用户

发布于 2019-03-20 17:34:47

贴出一个答案,因为我不能因为缺乏声誉点而发表评论:

不清楚“用户指定的路径”是什么意思,但假设您可以在某个变量中读取路径,那么只需在代码中这样做:

ls -l $mypath //testScript

票数 0
EN

Stack Overflow用户

发布于 2019-03-20 18:16:00

altagir的find是一个更好的解决方案,但在某些人想使用这种通用结构但除了ls之外不知道其他方法的情况下:

代码语言:javascript
复制
 stat -c "%s %n" "$someDir"/* | awk -v max=$maxval '$1 > max { print $2 }'
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55266393

复制
相关文章

相似问题

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