Быстрый метод, чтобы создать файл и открыть его

Я хочу создать файл скидки с цены и открыть его одновременно

$ touch ~/Documents/Ubuntu/drafts.md; open ~/Document/Ubuntu/drafts.md

Решение является громоздким, там ярлык для справлений с такой задачей?

3
задан 12 January 2019 в 01:03

2 ответа

Нет такого ярлыка, По-видимому, можно было использовать Высокий звук +. согласно ответу Sebastian Stark

touch ${filename}
xdg-open <alt>+<.>

Если Ваша оболочка использует libreadline (который /bin/dash на Ubuntu не делает, но bash делает), затем можно использовать тот ярлык.


Можно также создать файл с более коротким количеством символов через bash:

: > ${filename}; xdg-open ${filename}

В этом случае, : команда не встроена никакая-op команда, которая только возвращает статус выхода 0 для успеха, но прием здесь - то, что оболочка создает новый или усекает существующий файл, определяемый ${filename}. xdg-open открывает упомянутое имя файла в редакторе по умолчанию, так как это будет просто простой файл.

Если Вы хотите пойти еще короче, можно использовать bash функция расширения истории для многократного использования параметров команды:

: > myfile.txt ; xdg-open !#:1

Если мобильность является беспокойством, необходимо использовать $_ для других оболочек. Конечно, можно превратить их в функцию или исказить и назвать псевдоним или имя функции; назовите его чем-то как mko() для "делают и открываются":

# function definition to put in ~/.bashrc
mko(){  : > "$1"; xdg-open !#:1 }
# call it as so:
mko ~/Documents/myfile.md

Создание функции также имеет преимущество в добавлении шаблона в файл при необходимости в этом:

mko(){ 
cat > "$1" <<EOF
### HEADING1
- bullet 1
- bullet 2
EOF 

xdg-open "$1" 
}

Заметка на полях: в случае, если также необходимо создать каталоги вдоль пути, необходимо использовать mkdir -p, посмотрите связанный вопрос.

Заметка на полях № 2: ответ десерта на самом деле обращается к очень справедливому замечанию: большинство текстовых редакторов действительно позволяет указывать путь для нового файла как один из их аргументов. Однако в случаях, где файл должен существовать - иначе, Вы добираетесь No such file or directory ошибка - хорошо, можно использовать этот ответ. Рассмотрите также это > усекает существующий файл, таким образом, это может быть полезно, где Вы хотите быстро очистить файл и начать добавлять новое содержание.

3
ответ дан 17 November 2019 в 09:37

Позвольте редактору создать файл

Большинство (если не все) редакторы автоматически создает файл, если Вы открываете их с именем файла несуществующего. Можно сохранить touch и просто откройте новый файл непосредственно, например:

nano ~/Document/Ubuntu/drafts.md
vim ~/Document/Ubuntu/drafts.md
leafpad ~/Document/Ubuntu/drafts.md

Это создаст новый пустой файл и откроет его. Как Ваш подход это перестанет работать, если каталог должен быть создан в процессе.

3
ответ дан 17 November 2019 в 09:37

Другие вопросы по тегам:

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