按名称后缀对目录进行排序

时间:2016-10-18 12:21:32

标签: sorting ls

我有以下目录列表:

  

建筑师事务所-2col-layouttpl
  BB-WAP门户组件
  BB-Web的主题
  bbwf2的portlet
  卡纳莱斯主题
  columns_121_aeropuertos-layouttpl

现在我需要用名称的后缀(portlet,theme或layouttpl)对它们进行排序,我该如何实现呢?预期结果将是:

  

建筑师事务所-2col-layouttpl
  columns_121_aeropuertos-layouttpl
  BB-WAP门户组件
  bbwf2的portlet
  卡纳莱斯主题
  bb-web-theme

由于

1 个答案:

答案 0 :(得分:0)

目录具有可变数量-,否则您可以在排序中使用-t选项来指定分隔符...

这是一种解决方法,前提是目录名称中不包含空格。假设目录名称存储在名为ip.txt的文件中,或直接管道ls的输出。另请参阅perils of parsing ls

$ sed 's/.*-/& /' ip.txt | sort -k2,2 | sed 's/ //'
arquitectura-2col-layouttpl
columns_121_aeropuertos-layouttpl
bb-wap-portlet
bbwf2-portlet
bb-web-theme
canales-theme