Я провел 150 симуляций. Один не побежал. Я не хочу заходить в каждую папку, чтобы определить, какая из них не запускалась. Есть ли способ упорядочить все файлы с именем PKA.dump в порядке их размера (а также показать мне их местоположение). В одном из каталогов должен быть один файл, который значительно меньше остальных.
3 ответа
В Wheezy Debian у меня сработало следующее: найти файлы atom.in
, отсортированные по величине к наименьшему:
ls -lSh $(find -name atom.in)
Другая возможность:
ls -lSh `find -name atom.in`
$(find -name atom.in)
выполняет функцию find
для получения списка всех файлов с именем atom.in
с добавленными путями. Затем список обрабатывается командой ls -lSh
, которая отображает их один раз в каждой строке (-l
), сортирует их по величине и наименьшему (-S
) и печатает размеры в формате, удобном для чтения (-h
).
В качестве альтернативы, если это не сработает (по-видимому, это плохо работает в Ubuntu), если у вас есть порог хорошего размера, который делит «хорошие» симуляции на «плохие» (скажем, 1600 байт), это может сработать (смените каталоги) в корне вашей структуры каталогов моделирования в первую очередь):
find ./ -name 'PKA.dump' -size -1600c
Посмотрите флаг -size
в man find
для получения дополнительной информации о доступных параметрах поиска. В частности, ведущий дефис указывает на поиск файлов меньше указанного размера. (По какой-то причине код для байтов - c
, а не b
.)
Предполагая, что в результате успешного моделирования получен файл размером не менее 1600 байт, следующая команда выдает список всех файлов с именем PKA.dump
, размер которого меньше этого предела:
find -name PKA.dump -size -1600c
Надеемся, что вы сможете определить соответствующий лимит размера (используйте k
для килобайт вместо c
)
С другой стороны,
find -name PKA.dump | xargs wc -l
даст вам список всех ваших файлов PKA.dump
вместе с количеством строк в каждом файле. Если я правильно понимаю, любое число меньше 59 означает проблемы.
Не зная, где находятся эти файлы PKA.dump, вы можете начать поиск из корневого каталога. Это выдаст сообщение об ошибке и может занять некоторое время для запуска.
find / -type f -name PKA.dump -ls | sort -n -k7