2016-03-22 6 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") 

Pl легко заметить, что я изменил { и } с ( и ).

Также обратите внимание, что подстановки команд будут проходить word splitting и обычно должны быть указаны, хотя в вашем конкретном случае это не будет проблемой.

Смежные вопросы