Одна команда для создания каталога и файла внутри него linux commad

Предположим, что мой текущий каталог A. Я хочу создать каталог B и файл "myfile.txt" внутри B.

Как это сделать в одной команде с терминала?

Edit:

Каталог может вставляться несколько раз. Например, я могу создать B/C/D, а затем внутри него "myfile.txt". Я также не хочу повторять часть каталога.

Следующая команда создаст каталог на любом уровне.

mkdir -p B/C/D 

и

mkdir -p B/C/D && touch B/C/D/myfile.txt

создаст каталог и файл. Но я не хочу повторять часть каталога после команды touch. Это возможно?

Ответ 1

mkdir B && touch B/myfile.txt

В качестве альтернативы создайте функцию:

mkfile() { mkdir -p -- "$1" && touch -- "$1"/"$2" }

Выполните его с двумя аргументами: путь к созданию и имя файла. Говоря:

mkfile B/C/D myfile.txt

создаст файл myfile.txt в каталоге B/C/D.

Ответ 2

Это может быть работа

  • mkdir name (dirname)

  • имя cd (dirname)

  • touch name (dirname)/filename (он будет создан внутри каталога)