Linux ls-lth | awk和#x27;{printf….获取文件列表并添加标题

Linux ls-lth | awk和#x27;{printf….获取文件列表并添加标题,linux,shell,awk,printf,ls,Linux,Shell,Awk,Printf,Ls,我需要一个命令,列出特定目录中的内容。我需要文件名、创建日期和文件大小。这就是我所拥有的 ls -lth | awk '{printf "%s %s-%s %s %s\n",$9,$6,$7,$8,$5}' >> list.txt 我得到了这样的结果: - meb.20140112-030003.img Jan-12 13:49 755G meb.20140105-030003.img Jan-5 13:55 769G meb.20140108

我需要一个命令,列出特定目录中的内容。我需要文件名、创建日期和文件大小。这就是我所拥有的

ls -lth | awk '{printf "%s   %s-%s %s   %s\n",$9,$6,$7,$8,$5}' >> list.txt
我得到了这样的结果:

   -    
meb.20140112-030003.img   Jan-12 13:49   755G
meb.20140105-030003.img   Jan-5 13:55   769G
meb.20140108-030003.img   Jan-7 10:55   739G
FILE_NAME                 DATE          SIZE
meb.20140112-030003.img   Jan-12 13:49   755G
meb.20140105-030003.img   Jan-5 13:55   769G
meb.20140108-030003.img   Jan-7 10:55   739G
stat -c '%n %y %s' *
这很好。但是我需要删除第一行“-”,而是在文件中添加一个标题。我正在寻找类似这样的内容:

   -    
meb.20140112-030003.img   Jan-12 13:49   755G
meb.20140105-030003.img   Jan-5 13:55   769G
meb.20140108-030003.img   Jan-7 10:55   739G
FILE_NAME                 DATE          SIZE
meb.20140112-030003.img   Jan-12 13:49   755G
meb.20140105-030003.img   Jan-5 13:55   769G
meb.20140108-030003.img   Jan-7 10:55   739G
stat -c '%n %y %s' *
有什么想法吗?

像这样的想法

ls -lth | awk 'BEGIN {print "FILE_NAME                 DATE          SIZE"} NR>1 {printf "%s   %s-%s %s   %s\n",$9,$6,$7,$8,$5}'
像这样的

ls -lth | awk 'BEGIN {print "FILE_NAME                 DATE          SIZE"} NR>1 {printf "%s   %s-%s %s   %s\n",$9,$6,$7,$8,$5}'
我需要文件名、创建日期和文件大小

您不应该解析
ls
命令的输出,而应该像这样使用
stat
命令:

   -    
meb.20140112-030003.img   Jan-12 13:49   755G
meb.20140105-030003.img   Jan-5 13:55   769G
meb.20140108-030003.img   Jan-7 10:55   739G
FILE_NAME                 DATE          SIZE
meb.20140112-030003.img   Jan-12 13:49   755G
meb.20140105-030003.img   Jan-5 13:55   769G
meb.20140108-030003.img   Jan-7 10:55   739G
stat -c '%n %y %s' *
我需要文件名、创建日期和文件大小

您不应该解析
ls
命令的输出,而应该像这样使用
stat
命令:

   -    
meb.20140112-030003.img   Jan-12 13:49   755G
meb.20140105-030003.img   Jan-5 13:55   769G
meb.20140108-030003.img   Jan-7 10:55   739G
FILE_NAME                 DATE          SIZE
meb.20140112-030003.img   Jan-12 13:49   755G
meb.20140105-030003.img   Jan-5 13:55   769G
meb.20140108-030003.img   Jan-7 10:55   739G
stat -c '%n %y %s' *

如果文件名没有空格,那么如果通过
列-t
对其进行过滤可能会更好。NR>1做什么?我知道NR会给出行数,但NR>1?@andresg3,
NR
是当前记录数,而不是行数。
NR==1
表示awk正在处理记录数1。通常,记录==1ne,如果文件名没有空格,除非重新定义
RS
,否则如果通过
column-t
对其进行过滤可能会更好。NR>1做什么?我知道NR会给出行数,但NR>1?@andresg3,
NR
是当前记录数,而不是行数。
NR==1
表示awk正在处理record编号1。通常,记录==一行,除非重新定义
RS
,否则它通常不安全,因为文件名中可能存在空格/换行符。有关详细信息,请参阅本文:它通常不安全,因为文件名中可能存在空格/换行符。有关详细信息,请参阅本文: