LINUX.ORG.RU

Создать множество папок с файлами

 , , , ,


0

2

Подкиньте скрипт для автоматизации процесса: множество файлов (порядка 200), нужно создать для каждого файла папку с именем как у файла до дефиса с названием версии, перекинуть в эту папку сам файл, а так же создать внутри ещё два файла: имя.SlackBuild с содержанием по-определённому шаблону + пустой slack-desc.


Чё? Пиши пример, исходные данные, названия файлов если я правильно понял, и выходные данные, какие директории нужно создать и что в них поместить.

Т.е. пример что было и что стало для каждого варианта шаблона.

anonymous
()

Разбей процесс на мелкие части, переводи каждую часть на английский, добавляй слово bash и вбивай в поисковике. Если находится не совсем то, перефразируй запрос.

Напрмер, можно начать с «bash mkdir for every file in folder'.

anonymous
()

На будущее, множество — это десятки, сотни миллионов. А это ты и ручками сделаешь. Приходи, как будут реальные проблемы.

anonymous
()

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

чаво? ну короче sed для манипуляций с названием

нужно создать для каждого файла папку

find -type f потом этот sed и в результате для каждого mkdir выполнить

перекинуть в эту папку сам файл

ну это легко, после первого find у тебя уже есть список, а после sed список директорий, используй cp

а так же создать внутри ещё два файла

это через touch можно сделать

с содержанием по-определённому шаблону + пустой slack-desc

ой всё. используй ansible

system-root ★★★★★
()
find -type f -name '*-*' | while IFS= read -r file; do
	dir=${file%%-*}
	printf "%s -> %s\n" "$file" "$dir"
	mkdir "$dir"
	mv "$file" "$dir/"
	(
		cd "$dir"
		touch  slack-desc
		cat > "${dir}.SlackBuild" <<HERE
blah blah
bles
HERE
	)
done
anonymous
()
Ответ на: комментарий от anonymous

Ну вот, теперь он ничему не научится. А так мог потратить полчаса на гайд по башу и всему научиться.

anonymous
()

mkdir -p {1..10}/{1..10}/{1..10}

1000 директорий

futurama ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.