Почему перехват файла с символической ссылкой и перенаправление вывода в исходный файл делает последний файл пустым?

Ваша первая команда

ls -tr 

, правильно перечисляет файлы по времени

Когда вы передаете это на

tail -n1

Правильно выбирает последнюю запись, самый последний файл

Проблема в том, что он может совпадать или не совпадать с вашим шаблоном файла

Конечно, ваша последняя команда просто не получает никакого ввода от предыдущих. и поэтому он работает просто так, как должен, и перечисляет все файлы

find /home/test -maxdepth 1 -name "file_test_hadoop*" -printf '%f\n'

Чтобы решить эту проблему, я бы сначала начал с lsи grep, чтобы соответствовать правильному шаблону, то есть

ls -tr | grep "file_test_hadoop" > File_List.txt

Это создаст файл со списком и самым последним файлом в самом низу,

tail -n1 File_List.txt

Таким образом, ваш код будетHADOOP_NAME="$(tail -n1 File_List.txt)"

10
19.02.2021, 15:53
0 ответов

Теги

Похожие вопросы