gpt4 book ai didi

linux - 给定目录的输出文件名/行/类型

转载 作者:太空宇宙 更新时间:2023-11-04 04:14:01 24 4
gpt4 key购买 nike

我正在尝试自学 Linux 中的基本文件操作和脚本编写,但我遇到了困难。现在我正在尝试输出一个表格,给出类似的内容

FILENAME     LINES     TYPE
File1 22 File
File2 56 File
Folder1 N/A Directory

当给定任何要搜索的目录时。我一直在研究如何使用 awk 格式化输出,并使用 grep 和 wc 来尝试获取我的数据,但我有点迷失了。据我所知,我完全找错了对象。

最佳答案

查看printf格式化输出,然后查看命令 file要查找您的文件类型,wc打印出行数等。

所有这一切都可以通过find | while read来完成循环:

printf "%-20.20s   %-3.3s   %s\n", "File", "Lines", "Type"
find . -type f -print0 | while read -d $'\0' file
do
file_name=$(basename $file)
lines="$(cat $file | wc -l | sed 's/^ *//')"
desc="$(file --brief "$file")"
printf "%-20.20s %3.3s %s\n", "$file_name", $lines, "$desc"
done

$(...)语法将所包含命令的输出作为可以分配给变量的字符串返回。我用cat $file | wc -l删除文件名,然后使用 sed删除前导空格。

关于linux - 给定目录的输出文件名/行/类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17750445/

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