Естественное упорядочение файлов в каталоге в массив ячеек с использованием Octave - PullRequest
0 голосов
/ 18 ноября 2011

У меня есть файлы, сгенерированные другой программой / пользователем, которые имеют имена, такие как "jh-1.txt, jh-2.txt, ..., jh-100.txt, ..., jh-1024.txt».Я извлекаю столбец из этих файлов, манипулирую данными и выводу в новую матрицу.Единственная проблема заключается в том, что Octave использует ASCII-порядок, а не естественный порядок при чтении в файлах.Таким образом, выходная матрица не упорядочена естественным образом.У меня вопрос, может ли Octave сортировать имена файлов в естественном порядке?Я получаю имена файлов стандартным способом:

fileDirectory = '/path/to/directory';
filePattern = fullfile(fileDirectory, '*.txt'); % Selects only the txt files.
dataFiles = dir(filePattern); % Gets the info from the txt files in the directory.
baseFileName = {dataFiles.name}'; % Gets all the txt file names.

Я не могу переименовать файлы, потому что это скрипт для другого пользователя.Они на компьютере с Windows и уже имеют Octave, установленный с Cygwin, и я не хочу заставлять их использовать командную строку больше, чем нужно, потому что они не знакомы с ней.В качестве альтернативы было бы неплохо иметь выходные данные с именами файлов в столбце, но я также не понял, что это (немного нуб с октавой сам).Таким образом, пользователь может использовать Excel (с которым он знаком) для сортировки столбцов.

1 Ответ

0 голосов
/ 18 ноября 2011

Не думаю, что в Октаве есть природный вид.Тем не менее, в Mathwork File Exchange существует естественная сортировка для отправки .Я не использовал это, но комментарии подразумевают, что это работает и в Octave.

...