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
,否则它通常不安全,因为文件名中可能存在空格/换行符。有关详细信息,请参阅本文:它通常不安全,因为文件名中可能存在空格/换行符。有关详细信息,请参阅本文: