Как создавать несколько файлов в подпапке?

Как создается более одного файла в подпапке, не вводя информацию в компьютер в папку?

Сейчас я использую:

touch subcarperta/archivo.txt

Но когда я хочу создать другой, я должен писать снова маршрут, где я хочу мой файл. Тема состоит в том, что я хочу создать более двух файлов в этом маршруте без того, чтобы быть должным писать ее постоянно

Что-то подобное:

touch subcarperta/ archivo.txt otroArchivo.txt
1
задан 19.12.2016, 09:57
4 ответа

Ты можешь использовать синтаксис {} для того, чтобы элементы развернулись автоматически:

touch carpeta/{fichero1,fichero2,fichero3}

Автоматически Bash это переведет в:

touch carpeta/fichero1 carpeta/fichero2 carpeta/fichero3

Эта - функциональность brace расширение (расширение ключей) Bash, которое оказывается очень полезным, чтобы производить содержавший автоматически используя ранги чисел или букв:

$ echo {1..5}
1 2 3 4 5

$ echo hola{1,2,3,4,5}
hola1 hola2 hola3 hola4 hola5

$ echo letra{A..F}
letraA letraB letraC letraD letraE letraF

Будьте очевиден кроме того, что это расширение ключей может сочетаться, чтобы вызывать эффект картезианского продукта:

# imprime todas las combinaciones de 201X/Y, con X en 5, ..., 7 e Y en 1, ..., 5
$ echo 201{5..7}/{1..5}  
2015/1 2015/2 2015/3 2015/4 2015/5 2016/1 2016/2 2016/3 2016/4 2016/5 2017/1 2017/2 2017/3 2017/4 2017/5

Продолжая ссылку наверху мы можем читать описание (мой перевод):

Выражение последовательность имеет форму {x..y[..incr]}, где x и y они или целые числа или простые символы, и incr, опциональное увеличение, это целый.

Когда проходят целые числа, выражение расширяется в каждое число между x и y, включительно. Пропорциональные целые числа могут быть предопределенными '0', чтобы вынуждать, что у каждого элемента был тот же размер.
когда x или y начнись с нулем, shell пробует вынуждать, что все произведенные элементы содержали то же число цифр, добавляя нули, когда он будет необходим.

Когда предоставляются символы, выражение расширяется в каждый символ между x и y в алфавитном порядке, содержащий, используя locale C.

Заметьте себе, что так x как y они должны быть того же типа. Когда увеличение предоставляется, он используется как различие между каждым элементом. Назначенного по умолчанию увеличения 1 или-1 согласно случаю.

4
ответ дан 24.11.2019, 12:02

Как @josego он прокомментировал ты мог бы делать цикл for, чтобы повторять в списке параметров каковых они были бы файлами, которые было бы нужно создавать в каталоге или подпапке, рукописный шрифт был бы следующим:

#!/usr/bin/env bash

# Tú directorio.
dir=workspace

for i in $@; do
  touch ${dir}/$i
done

Переменная $@ он содержит параметры, перешедшие в рукописный шрифт, отделенные местом.

Одинокий договорилось бы распределять в рукописный шрифт разрешения выполнения и двигать это в каталог, который находился бы в переменной $PATH если ты хочешь использовать это в любом месте. Ты можешь назначать escript, как ты хотел имея в виду внутренние команды shell bash например ты мог бы звонить ему touchs и ты мог бы использовать это следующего способа:

touchs file1.txt file2.txt file3.txt

shell bash предпочитает между Вашими символами команда в том, который они работают:

  1. Иначе
  2. Ключевые слова (for, if, while, и т.д.)
  3. Функции
  4. Внутренние команды (cd, type, rm, и т.д.)
  5. Scripts и выполнимые программы.

Если ты считаешь созданным так называемое прозвище touchs работало бы прозвище вместо scripts из-за команды предпочтения, так что забота с esté аспект.

2
ответ дан 24.11.2019, 12:02

Так как Лучшее состоит в том, что ты веришь в переменную с маршрутом папки, и потом просто прилагать ее с именем файла.

Мы Идем в код.

ruta="workspace"
touch ${ruta}/hola.txt

типов Привета

1
ответ дан 24.11.2019, 12:02
  • 1
    то, что я хочу, он состоит в том, чтобы создавать два или má s файлы это решает меня, когда я пишу очень длинный маршрут и не хочу повторить ее, но есть какой-то способ писать ее только однажды? – soldat25 18.12.2016, 01:29

Если queres добавлять много файлов ты обрезал делать следующего способа:

ruta_larga="ruta_larga"
touch ${ruta_larga}/hola.txt ${ruta_larga}/otroArchivo.txt ${ruta_larga}/otroArchivo1.txt ${ruta_larga}/otroArchivo1.txt

, Или если не делает рукописный шрифт в bash, у которого были for и список имен файлов.

0
ответ дан 24.11.2019, 12:02

Теги

Похожие вопросы