2015-01-20 2 views
0

Я (по-прежнему) не мастер оболочки, но я пытаюсь найти способ создания каталогов и файлов из списка имен файлов.Сценарий оболочки для создания каталогов и файлов из списка имен файлов

Давайте возьмем этот исходный файл (source.txt) в качестве примера:

README.md 
foo/index.html 

    foo/bar/README.md 
foo/bar/index.html 

foo/baz/README.md 

Я буду использовать эту команду, чтобы удалить пустые строки и обрезать ненужные пробелы:

$ more source.txt | sed '/^$/d;s/^ *//;s/ *$//' 

Это даст мне это список:

README.md 
foo/index.html 
foo/bar/README.md 
foo/bar/index.html 
foo/baz/README.md 

Теперь я пытаюсь выполнить петлю на каждой линии и создать взаимосвязь d файл (его он еще не существует), с его родительскими каталогами.

Как я мог это сделать?
В идеале я бы поставил этот скрипт в псевдоним, чтобы быстро его использовать.

ответ

1

Как всегда, опубликовав вопрос подводит меня к концу проблемы ...

Я пришел к удовлетворительному решению, используя dirname и basename в for .. in цикле:

for i in `cat source.txt | sed '/^$/d;s/^ *//;s/ *$//'`; 
    do mkdir -p `dirname $i`; 
    touch `echo $(dirname $i)$(echo "/")$(basename $i)`; 
    done 

Это один -линии команда:

  • читать список имен файлов
  • создавать прямые ories
  • создавать пустые файлы в своих каталогах
Смежные вопросы