Как изменить порядок папок в каталоге в Linux?

351
Nishant Singh

Я новичок в Linux и должен написать сценарий оболочки для изменения порядка папок в каталоге на основе ctime. Место, где я застрял, - это физическая сортировка папок.

Я попробовал следующие подходы:

  1. Я использовал комбинации команды ls sort под впечатлением, что она также меняет физический порядок, но не влияет на порядок, только перечисляя результат.
  2. Использование команды сортировки приводит к зависанию терминала, и тогда у меня не остается другого выбора, кроме как отменить команду.

Пожалуйста, предоставьте некоторые ссылки для физического переупорядочения папок. Я просмотрел статьи, но они не очень помогли.

Я пытаюсь добиться сортировки папок в каталоге по времени последнего изменения. Основная проблема здесь не в том, как извлечь сведения о времени для папки в Linux, а в том, какая команда может быть полезна для физической сортировки папок на основе времени последнего изменения.

Команды, которые я пробовал:

du -m --max-depth 1 | sort -rn ls -1 | sort ls -la | sort -k 1 
0
Каталоги не имеют внутреннего порядка. Порядок будет зависеть от локали системы. Под «переупорядочением» вы подразумеваете перечисление каталогов и их сортировку? Пожалуйста, [отредактируйте] свой вопрос и объясните свою задачу более четко, а также покажите сценарии / команды, которые вы уже попробовали. slhck 5 лет назад 1
Пожалуйста, проверьте . Я сделал правки. Nishant Singh 5 лет назад 0
@slhck: они часто делают, и это зависит от файловой системы. В большинстве случаев порядок не изменяется пользователем, поэтому я надеюсь, что OP действительно означал «изменить порядок _folder list_», как в `ls -ltc` ... grawity 5 лет назад 0
@ Grawity Вы, конечно, правы. Я думаю, я должен был быть более точным. Они имеют физический порядок в зависимости от того, как файловая система их индексирует (например, какое-то дерево), но я предполагал случай, когда просто составлял список каталогов, где он обычно лексикографический. slhck 5 лет назад 0
Под «физическим» вы подразумеваете «визуальный»? Вы пытаетесь изменить порядок, в котором элементы перечислены в окне Nautilus? Пожалуйста, измените вопрос, включив в него дистрибутив Linux (например, Ubuntu). Christopher Hostage 5 лет назад 1
Да визуальный порядок папок в каталоге. У меня установлен GNU / Linux на моем сервере, где я хочу выполнить это. Nishant Singh 5 лет назад 0
Поскольку порядок папок не может быть изменен на диске, я должен предположить, что назначение состоит в том, чтобы отображать их в правильном порядке. взгляните на этот вопрос: https://superuser.com/questions/147027/how-can-i-sort-the-output-of-ls-by-last-modified-date uSlackr 5 лет назад 0
Порядок папок не может быть изменен на диске? Я искал только это. В любом случае спасибо. Я попробую другой подход тогда Nishant Singh 5 лет назад 0
Я голосую, чтобы закрыть вопрос, если он не [отредактирован] с информацией, приведенной в комментариях ниже. В нынешнем виде он не несет ответственности, так как это [проблема XY] (http://xyproblem.info/). slhck 5 лет назад 1

1 ответ на вопрос

0
Lewis M

Если вы хотите перечислить содержимое каталога по ctime, @grawity верен, используйте

ls -ltc 

Если вы хотите перечислить содержимое каталога на основе древовидной структуры файловой системы, вы хотите отсортировать по inode. Вы можете сделать это с помощью

ls -li | sort 

Если вы хотите что-то еще, предоставьте пример ввода и пример вывода.

Надеюсь это поможет

Я попробовал это. Дело в том, что я хочу сортировать папки в каталоге, а не просто отображать их. Nishant Singh 5 лет назад 0
Что вы подразумеваете под «сортировать папки в каталоге, а не просто отображать их»? Что вы собираетесь делать после сортировки папок в данном каталоге? Lewis M 5 лет назад 1
Я пытаюсь выполнить сортировку папок в каталоге, а затем переместить их в другой каталог в отсортированном порядке. Позвольте мне объяснить сценарий. У нас есть исходная папка, где мы получаем документы на каждого клиента. Для каждого клиента мы создаем папку, а затем помещаем его документы в эту папку. Теперь мы хотим подобрать папки по типу fcfs, т.е. папка, созданная первой, должна иметь приоритет. Подход, который меня попросили реализовать, - сначала отсортировать папки в исходном каталоге, а затем переместить эти папки во второй каталог с некоторыми дополнительными условиями. Nishant Singh 5 лет назад 1
Хорошо. Дополнительная информация. Это полезно. Не могли бы вы предоставить образец ввода и вывода образца? Это даст нам еще лучшее представление о том, чего вы пытаетесь достичь. Если вы хотите указать такие вещи, как время создания, время модификации и т. Д., Сделайте это. Чем больше деталей вы нам предоставите, тем лучше мы сможем вам помочь. Lewis M 5 лет назад 0
@NishantSingh Вы должны действительно отредактировать свой вопрос и объяснить * это * - ваш исходный вопрос действительно не имеет большого смысла без этой информации. Пожалуйста, также кратко прочитайте: http://xyproblem.info/ slhck 5 лет назад 1

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