разделение файлов на основе их имени

У меня есть папка, содержащая множество файлов, таких как 3 файла lac plus. Я должен отделить их в соответствии с их именами в трех разных папках. например, несколько имен:

7msf_stem_0_mcannotate.pdb 7msf_loop_3_mcannotate.pdb 6tna_strand_10_mcannotate.pdb 7msf_strand_4_mcannotate.pdb 

Я должен хранить все файлы, содержащие «stem» в их имени, в одной папке с именем stem, те, которые содержат «петлю» в их именах в другой папке, называемой loops , тогда как те, которые содержат «прядь» в их имени, называются strands .

Есть ли сценарий оболочки для этого?

One Solution collect form web for “разделение файлов на основе их имени”

пытаться

  mkdir ../loops ../stems ../strands for x in loop stem strand do mv *${x}* ../${x}s done 

обратите внимание, что dirs будет находиться в родительской папке.

  • Как узнать, что происходит в фоновом режиме, когда мы запускаем файл .sh в Linux?
  • вложенный случай - почему нужно «;;» ставить после возможных команд, а не непосредственно позади «esac»?
  • Как контролировать режим выполнения сценария оболочки?
  • Как перебирать два набора итераций в сценарии оболочки?
  • извлечение определенных подстрок из строки
  • Сценарий оболочки для запуска программы с аргументами
  • Как я могу либо зашифровать, либо сделать мой сценарий оболочки нечитаемым?
  • Сценарий Bash не детерминирован при выполнении действий
  • Команда Killall?
  • Почему printf выводит больше аргументов, чем ожидалось?
  • Неправильный способ перечисления версий python из bash
  • С помощью сценария оболочки с jstest, как я могу заставить геймпад взаимодействовать с моим скриптом?
  • Linux и Unix - лучшая ОС в мире.