如何在unix中格式化目录名称的文件列表?

时间:2016-02-02 16:21:37

标签: linux unix find format report

我有一个find命令,我在脚本中使用它来列出给定周的存档文件,从每个星期六开始。该脚本运行良好,但如果可能的话,我想要一些格式。

列出的文件是归档文件,但我不需要目录名称" archive"在我的列表中(如脚本输出中所示)。

对于我在find命令中使用的变量,我使用了函数:date +"%b%d" -d"上周六和#34;。就像它所说的那样,这让我在最后一个星期六。

任何帮助或提示都会很棒。

--USES DAYOFWEEK variable TO GET THE LAST SATURDAY; THEN GETS      
--FILES WITH A MODIFED DATE FOR THAT SATURDAY OR NEWER  

find . -newermt "$DAYOFWEEK"  -printf "%TY-%Tm-%Td %TI:%TM %f\n" 

脚本输出

2016-02-01  10:10  dir_name1
2016-02-01  10:10  archive
2016-02-01  07:58  file1.txt
2016-02-01  07:58  file2.txt
2016-02-02  07:58  file3.txt
2016-02-02  07:58  file4.txt
2016-02-01  10:10  dir_name2
2016-02-01  10:10  archive
2016-02-01  07:58  file12.txt
2016-02-01  07:58  file22.txt
2016-02-02  07:58  file32.txt
2016-02-02  07:58  file42.txt

我希望它的格式是这样的(按客户名称的字母顺序,然后是最新的文件到最新的):

dir_name1
2016-02-01  07:58  file1.txt
2016-02-01  07:58  file2.txt
2016-02-02  07:58  file3.txt
2016-02-02  07:58  file4.txt

dir_name2

2016-02-01  07:58  file12.txt
2016-02-01  07:58  file22.txt
2016-02-02  07:58  file32.txt
2016-02-02  07:58  file42.txt

1 个答案:

答案 0 :(得分:0)

你只能通过一个命令完成之后的事情,我不会想到

我没有时间尝试重新创建与您匹配的目录结构并用文件填充它,但认为这种方法应该为您工作...

def pop_all():
    #bring all the figures hiding in the background to the foreground
    all_figures=[manager.canvas.figure for manager in matplotlib.\
        _pylab_helpers.Gcf.get_all_fig_managers()]
    [fig.canvas.manager.show() for fig in all_figures]
    return len(all_figures)