Следующий однострочник bash создаст желаемый результат
for f in $(find $(pwd) -type f); do echo "$(basename $f) $(realpath $(dirname $f))"; done
Пояснение:for _ in _ ; do _ ; done
перебирает то, что нашла ваша команда basename
удаляет из пути все, кроме последней части (ака. имя файла)dirname
делает наоборот realpath
возвращает фактический путь (, поэтому вы не получите .
для файла в cwd)
Если вы часто используете это, я предлагаю использовать псевдоним для более короткой команды.
Похоже, вы отредактировали файл.bashrc.
Я могу точно воспроизвести эту ошибку, если поставлю
'‘export'
как последняя строка в моем.bashrc
Чтобы проверить это, просто выполните
grep export ~/.bashrc
Если grep
дает вывод, подобный приведенному выше, отредактируйте его из файла ~/.bashrc.
Редактировать :Из вашего последнего редактирования сообщения вы можете видеть, что у вас есть 2 строки, начинающиеся с «экспортировать удалить их обе из ~/.bashrc.