Я выполняю команду:
echo $(ls -p "/root/arch" -1tr | grep -v / )
20190107224626.ogg 20190107224705.ogg 20190107224720.ogg 20190107224645.ogg
Я получаю весь список файлов, отсортированных по самому старому (со дня создания).
Все работает как надо.
Также необходимо сделать динамическое исключение файлов (есть файлы с такими же именами, но с расширением .lock и в другой папке):
echo $(ls -p "/root/pids" -1tr | grep -v / )
20190107224645.ogg.lock 20190107224705.ogg.lock
Я выполняю команду:
echo $(ls -1tr /root/pids/*.lock | awk -F/ '{print $NF}' | grep -Po '.*(?=\.)' | while IFS= read -r line; do echo "-I \"$line\" "; done)
-I "20190107224645.ogg" -I "20190107224705.ogg"
Теперь я пытаюсь объединить все это в одну строку, но это не работает должным образом (я получаю все 4 файла вместо двух), что я делаю неправильно и как я могу это исправить?
echo $(ls -p "/root/arch" -1tr $(ls -1tr /root/pids/*.lock | awk -F/ '{print $NF}' | grep -Po '.*(?=\.)' | while IFS= read -r line; do echo "-I \"$line\" "; done) | grep -v / )
20190107224626.ogg 20190107224705.ogg 20190107224720.ogg 20190107224645.ogg