1) я не уверен, что это не должно быть на superuser.com
2) ls все равно не печатает полный путь: ls -1 /your/dir
Редактировать Вопрос изменился. Согласно комментарию Павла ниже, я обновляю свой ответ. Вы можете сделать это так:
ls -1 /home/rich/*.txt | sed s/^.*\\/\//
Это минус 1, а не л, хотя я тоже работает. Объяснение: ls -l/-1 записывает имена файлов с вещами, которые вам не нужны. Каждая строка проходит через sed, который здесь выполняет подстановку, как указано в s/. Подстановка принимает форму:
s/text/replacement/
Мы заменяем все от начала строки ^ до последнего / (/ - это специальный символ, поэтому мы должны экранировать его \\/) ничем - то есть удалить его и, таким образом, оставить только имя файла.