linux树命令包含文件的头内容

标签 linux bash

我需要使用树命令创建文件报告..包括每个文件的头内容,例如当前命令:

tree -hF

├── [129K]  219.137.24.130
│   └── [125K]  gibi_gibi_member.csv
├── [5.7M]  219.142.104.84
│   ├── [ 43K]  xshop_unihongbaorecord.csv
│   ├── [ 18K]  xshop_zdmemberaddr.csv
│   ├── [2.2M]  xshop_zdmember_copy.csv
│   ├── [2.6M]  xshop_zdmember.csv
│   ├── [7.5K]  xshop_zdmembertelinfo.csv
│   └── [877K]  xshop_zdshareusersubmitinfo.csv
├── [9.9M]  219.84.203.57
│   ├── [259K]  wealth_e_newsletter_subscriptions.csv
│   ├── [ 59K]  wealth_orders.csv
│   └── [9.6M]  wealth_users.csv

我想要这个输出:

├── [9.9M]  219.84.203.57
│   ├── [259K]  wealth_e_newsletter_subscriptions.csv
                ./head 219.84.203.57/wealth_e_newsletter_subscriptions.csv
│   ├── [ 59K]  wealth_orders.csv
                ./head 219.84.203.57/wealth_orders.csv
│   └── [9.6M]  wealth_users.csv
                ./head 219.84.203.57/wealth_users.csv

我怎样才能做到这一点?

最佳答案

使用 awktree 的组合可以轻松完成此操作:

tree -hFf | awk -v n=4 '1
                       { file=$NF; sub($NF"$","");gsub(/./," "); 
                         for(i=1;i<=n;++i) {getline var < file; print $0 var}
                         close(file) }'

这里的n表示应该打印文件的行数。

关于linux树命令包含文件的头内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51969726/

相关文章:

c++ - Linux组和用户管理

linux - 如何修剪 bash 脚本中的文本?

c# - 预提交钩子(Hook)修改AssemblyInfo

c++ - Bash 在子 shell 中的后台运行命令

linux - 使用shell脚本一个接一个地卸载软件

linux - Sort numbers values - separated by a dot or any other separator character - 在 RHEL5 中排序版本值

node.js - 从Docker容器获取音频到主机

php - 无法让 mbstring 在 Amazon linux 2 AMI 上工作

c++ - 在时区之间转换时间的线程安全方法

linux - 分隔符”、空格和 Linux 中的 bash 脚本