Похоже, у вас две проблемы:
1 :Ваш ${1%.*}
приводит к базовому имени файлов (, например. fr940125
), поэтому распаковка пытается добавить суффикс по умолчанию.gz, для комбинированного нового имени файла, который он пробует, файл не существует.
2 :вы указываете второй параметр для распаковки, который является правильным именем файла архива, но распаковка не знает, что делать с окончанием файла. Попробуйте указать параметры '-S.0z
' в качестве аргумента.
Следующая команда может быть правильной для рекурсивного извлечения всех файлов.0z в текущем и всех подкаталогах:
find -name '*.0z' -exec sh -c 'uncompress -S.0z "$1"' _ {} \;
Вам нужно заставить ls
использовать цвета, иначе они отключаются, когда не записывается на терминал:
ls -l --color | less -R
Вы также можете использоватьunbuffer
(частьexpect
):
unbuffer ls -l | less -R