Почему вывод находки отсортирован в Cygwin, но не в Солярисе?

Вы не можете только скопировать установленную операционную систему в usb и ожидать, что это загрузится. Проверьте эту страницу, которая описывает, как создать и использовать Живой USB.

/proc каталог содержит файлы об информации о системе и рабочих процессах, которые Вы не должны копировать. Они сгенерированы ядром во время начальной загрузки и во время операции. Введите "человека 5 proc" в командную строку для получения большего количества информации.

2
27.03.2013, 03:12
1 ответ

find не сортирует его вывод. Порядок имен файлов зависит от порядка, в котором записи каталога появляются в файловой системе. Вы не можете управлять этим, ли на Солярисе или Windows.

В некоторых файловых системах, если Вы создаете каталог и добавляете файлы к нему, файлы появятся в порядке, в котором они добавляются. Это, вероятно, почему они отсортированы в соответствии с Windows. Но это не имеет место везде (я не думаю, что это когда-либо имеет место на zfs Соляриса, например), и если Вы начинаете удалять файлы в каталоге и добавлять других, порядок непредсказуем с большинством файловых систем.

Несколько файловых систем действительно имеют предсказуемыми, но большинство не делает. HFS/OSX's Mac OS + и имена файлов вида Linux Reiserfs в байте лексикографический порядок (отмечают, что локаль процесса может иметь другой порядок). ext2/ext3/ext4 Linux не сортируют. Это не что-то, на что можно рассчитывать.

Если Вам нужен отсортированный вывод от find, передайте его по каналу в sort.

3
27.01.2020, 22:07
  • 1
    Если я делаю >2, затем >1, и выполненный находят на Debian с GNU findutils, я получаю 1 первое, и затем 2. Я пропускаю что-то? (Я никогда не видел, находят возвращающиеся неотсортированные результаты здесь) –  Teresa e Junior 27.03.2013, 03:16
  • 2
    Просто попробованный те же команды на Хайку, и 2 прибывает прежде 1, но никогда на Debian... Хайку: GNU находит 4.2.33, Debian: GNU находит 4.4.2 –  Teresa e Junior 27.03.2013, 03:20
  • 3
    @TeresaeJunior Действительно mkdir a; touch a/1; touch a/2; find a и mkdir a; touch a/2; touch a/1; find a кажется, надежно перечисляю a/1 прежде a/2. Я не знаю почему. Но теперь попробуйте rm 1; touch 3 или mv 1 3. –  Gilles 'SO- stop being evil' 27.03.2013, 03:23
  • 4
    Теперь это работает :) У меня на самом деле есть некоторые сценарии оболочки, которые полагаются на функцию "сортировки" находки. Время для изменения их... –  Teresa e Junior 27.03.2013, 03:26
  • 5
    большое спасибо, я полагал, что это было больше об ОС, живой, Вы просто упомянули. Таким образом, я предполагаю, что пора изменить сценарий для обеспечения "%" на состоянии выполнения. –  BitsOfNix 27.03.2013, 04:34

Теги

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