Как создать каталоги из текстового файла в Linux
Как вы уже знаете, мы можем легко создать один или несколько каталогов одновременно, используя команду mkdir. Также возможно создавать вложенные каталоги (каталог внутри каталога) с помощью команды mkdir. Кроме того, есть и другие способы создания каталогов. В этом кратком руководстве описывается, как создавать каталоги из текстового файла из командной строки в Linux.
Создание каталогов из текстового файла в Linux
Обычно мы создаем один каталог с помощью команды:
mkdir dir1
Приведенная выше команда создаст каталог с именем «dir1» в текущем рабочем каталоге.
Для создания нескольких каталогов мы используем:
mkdir dir1 dir2 dir3
Или,
mkdir dir{1,2,3}
Эта команда создает три каталога, а именно dir1, dir2 и dir3, в текущем рабочем каталоге.
Чтобы создать вложенные каталоги, мы делаем:
mkdir -p dir1/dir2/dir3
Опция -p позволяет создать родительский каталог, если он еще не создан. Приведенная выше команда создает каталог 2 внутри каталога 1 и каталог 3 внутри каталога 2. Здесь каталог dir1 является родительским каталогом для каталогов dir2 и dir3. dir2 — родительский каталог для dir3. Другими словами, dir2 — это дочерний каталог для dir1, а dir3 — дочерний каталог для dir2 и dir1.
Я думал, что это единственный способ создавать каталоги из командной строки, пока не узнал о команде xargs. Для тех, кому интересно: xargs — это команда Linux, которая используется для создания и выполнения командных строк из стандартного ввода.
Теперь давайте вернемся к нашей теме — созданию каталогов из текстового файла с помощью xargs.
Скажем, например, я хочу создать следующую структуру каталогов.
Study/Ebooks
Tutorials/Videos
Linux_Commands
Entertainment/Movies/Tamil
Entertainment/Movies/English
Entertainment/Songs
Personal/Bills
Games
Miscellaneous
Есть идеи, как создать эту структуру каталогов из файла? Без проблем. Просто поместите имена каталогов по одному в текстовый файл, скажем, mydirectories.txt, как показано ниже.
Структура каталогов
Затем выполните следующую команду, чтобы создать каталоги.
xargs -I {} mkdir -p "{}" < mydirectories.txt
Вы можете проверить, созданы ли каталоги так, как вы хотели, с помощью команды дерева.
$ tree
.
├── Entertainment
│ ├── Movies
│ │ ├── English
│ │ └── Tamil
│ └── Songs
├── Games
├── Linux_Commands
├── Miscellaneous
├── mydirectories.txt
├── Personal
│ └── Bills
├── Study
│ └── Ebooks
└── Tutorials
└── Videos
14 directories, 1 file
Более подробную информацию можно найти на страницах руководства.
man xargs
man mkdir
man tree
Связанное чтение:
- Как быстро создавать файлы внутри вложенных каталогов в Linux