2016-03-22 106 views
1

我想每天列出多个文件,所以我需要列表中的日期文件应该从系统中仅在文件名中选择。列出目录中的多个文件

ls -lrt test_20160322.csv 

我得到的错误,而使用如下命令: -

ls -lrt test_${date +"%Y%m%d"} 

-bash: ${date +"%Y%m%d"}: bad substitution 
+3

'$(date +“%Y%m%d”)'? – andlrc

回答

2

您应将其更改为:

ls -lrt test_$(date +"%Y%m%d") 
       ↑    ↑ 
+4

这是一些美丽的箭头,只是为了阐明那些在实际脚本中不需要的箭头。 – andlrc

+0

@andlrc谢谢,如果有人认为他们应该是脚注的一部分,那将会很难过:)只是注意到,在我发布我的答案之前几秒钟,你就发布了答案。请发布它,我会删除我的。 – Maroun

+0

感谢它的帮助 – Ajinkya

2

你的替代是错误的,你需要一个命令替换:

ls -lrt test_$(date +"%Y%m%d") 

P1请注意,我更改了{}()

另请注意,命令替换将经历word splitting,通常应引用,尽管在您的确切情况下,这不会是问题。