首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从Shell脚本中获得表格格式的输出?

如何从Shell脚本中获得表格格式的输出?
EN

Unix & Linux用户
提问于 2020-07-30 08:15:52
回答 3查看 1.7K关注 0票数 1

我有以下格式的文本文件中的数据

代码语言:javascript
复制
/gpfs/pcenterdata/test/SrcFiles/WCC_CDHP_LITES/WGS1/CLM/text1.txt
/gpfs/pcenterdata/test/SrcFiles/WCC_CDHP_LITES/WGS1/CLM/text2.txt
/gpfs/pcenterdata/test/SrcFiles/WCC_CDHP_LITES/EMP2/text3.txt
/gpfs/pcenterdata/test/SrcFiles/WCC_CDHP_LITES/ACS1/text4.txt

我要输出如下

代码语言:javascript
复制
                 Path Name                                         File Name
/gpfs/pcenterdata/test/SrcFiles/WCC_CDHP_LITES/WGS1/CLM/           text1.txt
/gpfs/pcenterdata/test/SrcFiles/WCC_CDHP_LITES/WGS1/CLM/           text2.txt
/gpfs/pcenterdata/test/SrcFiles/WCC_CDHP_LITES/EMP2/               text3.txt
/gpfs/pcenterdata/test/SrcFiles/WCC_CDHP_LITES/ACS1/               text4.txt
EN

回答 3

Unix & Linux用户

发布于 2020-07-30 13:46:45

使用Perl +列,您可以按照

代码语言:javascript
复制
perl -pE 'BEGIN{say "Path\tFile\n"} s!.*/\K!\t!' input | column -t
票数 0
EN

Unix & Linux用户

发布于 2020-07-31 20:34:59

如果您的源确实是此文件,您可以这样做:

代码语言:javascript
复制
(echo full_path; cat input) | 
  csv-add-split -c full_path -e / -n parent,name -r |
  csv-cut -c parent,name -S

但是,如果您的源代码是目录路径,您可以这样做:

代码语言:javascript
复制
csv-ls -R -c parent,name /gpfs/pcenterdata/test/SrcFiles -S

这些命令来自csv (https://github.com/mslusarz/csv-nix-tools)。

票数 0
EN

Unix & Linux用户

发布于 2020-07-31 23:42:33

与Prvt_Yadav类似,您可以使用awk & column,但是awk的"gensub“函数可以用于提取所需的文本。

代码语言:javascript
复制
awk 'BEGIN{print "PathName\tFileName"} {f=gensub(/.*\//,"\\1","1"); p=gensub(/[^/]*$/,"\\1","1"); print p"\t"f}' | column -t
票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/601044

复制
相关文章

相似问题

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