Создать список файлов в порядке возрастания на основе имени файла

Один простой способ с парой небольших улучшений:

if (-d /path/to/python/bin && "$path" !~ *"/path/to/python/bin"*) then
    set path=($path /path/to/python/bin)
else
    echo 'ERROR: Unable to find the path to Python executable in.cshlc!'
endif

Я изменил -eна -dдля более надежной проверки существования каталога, затем я проверяю, содержит ли переменная $pathчто-то вроде /path/to/python/bin; если каталог существует, а переменная пути еще не содержит этот путь, добавьте его. Я считаю, что в синтаксисе csh для разделения элементов пути используются пробелы, а не двоеточия.

0
15.04.2020, 19:33
1 ответ

Если проблема заключается в том, чтобы получить имена файлов в одном столбце, а не в формате нескольких столбцов -, который создает ls, вы можете использовать опцию-1(«минус один» ), чтобыls:

ls -1

Имена файлов будут отсортированы по имени.


printf '%s\n' FILE.*

Предполагая, что шаблон FILE.*соответствует всем соответствующим именам файлов и ничему другому, приведенная выше команда также напечатает имена файлов в лексикографическом порядке, каждое в отдельной строке, что, по-видимому, и требуется.

1
19.03.2021, 02:28

Теги

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