Страницы

Поиск по вопросам

пятница, 14 февраля 2020 г.

Как создать 100 файлов с именами a1, a2, a3, …. a100 в терминале?

#linux #terminal


Как создать 100 файлов с именами a1, a2, a3, …. a100 в терминале?
Это вообще можно сделать в одну команду?
    


Ответы

Ответ 1



наибольшая «сложность» — получить последовательность чисел. дополнить же их буквами и передать программе touch — это просто. стандартом posix, насколько мне известно, каких-либо «бортовых» средств, упрощающих процесс генерации, нет. можно воспользоваться каким-нибудь универсальным языком: с помощью программы awk: $ awk 'BEGIN { for(i=1;i<=5;i++) printf "a%d\n", i }' a1 a2 a3 a4 a5 для создания файлов достаточно передать список программе touch: $ touch $(awk 'BEGIN { for(i=1;i<=5;i++) printf "a%d\n", i }') с помощью программы bc: $ echo 'for (i=1; i<=5; i++) {print "a",i,"\n"}' | bc a1 a2 a3 a4 a5 для создания файлов достаточно передать список программе touch: $ touch $(echo 'for (i=1; i<=5; i++) {print "a",i,"\n"}' | bc) в операционной же системе gnu есть программа seq, как раз упрощающая генерацию: $ seq -f 'a%g' 1 5 a1 a2 a3 a4 a5 для создания файлов достаточно передать список программе touch: $ touch $(seq -f 'a%g' 1 5) ну и современные «навороченные» оболочки типа bash/zsh понимают конструкцию {1..5}: $ echo {1..5} 1 2 3 4 5 т.е. можно создать файлы опять-таки передав список программе touch: $ touch a{1..5}

Комментариев нет:

Отправить комментарий