Я учился программировать с действительно классной вводной книгой для C, и я записываю каждый пример и задачу, чтобы я мог выучить синтаксис наизусть. До сих пор я делал каждый файл вручную, но клики, присвоение имен и сохранение становятся утомительными.
Мне нужен способ , чтобы создать несколько файлов , таких как bspl0001.c
, bspl0002.c
, bspl0003.c
и т.д. , и сохранять их в директории «learning_c» или что - то.
Я новичок в Ubuntu / Linux и, честно говоря, запускаю его только через VirtualBox, потому что IDE Geany было легко настроить. Таким образом, я действительно не знаю, как работает Терминал.
редактировать Я только что нашел себя в этом старом счете мой , и я качаю головой о том, почему я никогда не хочу , чтобы узнать синтаксис кода назубок. Как ни странно, я почти закончил обучение в CS / Math BSc. Большое спасибо за помощь в ретроспективе!
источник
Ответы:
Вы можете сделать это с помощью этих команд:
Объяснение:
mkdir learning_c
learning_c
в текущей папке~
cd
команды (т.е.cd Desktop
)cd learning_c
touch bspl{0001..0003}.c
touch
инструмент для создания пустых файлов и изменения временных меток; мы создаем пустые файлы.touch myfile
создаст пустой файл с именемmyfile
.Уродливый код, который следует за (
bspl{0001..0003}.c
), называется расширением скобки . Это отличная особенностьbash
оболочки, которая позволяет создавать длинные списки произвольных комбинаций строк. Вы можете узнать больше об этом в Bash Hackers Wiki . В этом случае вы будете составлять длинный список параметров, которые будут переданыtouch
. Вы также можете использовать его длинный эквивалент:Вы можете изменить количество файлов: если вы хотите 12 файлов, вы можете запустить
bspl{0001..0012}.c
.0012
вместо12
) следят за тем, чтобы в выходных данных использовались 4 цифры, дополненные нулями.источник
touch bspl000{1..3}.c
touch {test,tes2,tes3}.js
touch tes{t,2,3}.js
Создать правильно пронумерованный (следующий) файл с сочетанием клавиш
Зачем создавать все файлы одновременно? Недостатком является то, что у вас будет много пустых и неиспользуемых файлов. Что я на самом деле использую: нажмите комбинацию клавиш, чтобы:
Все в одном нажатии. Таким образом вы предотвращаете много (все еще) неиспользуемых файлов; Файлы создаются только если они вам нужны.
Упрощенная версия ниже (не выполняется шаг 3). При каждом нажатии клавиши он будет создавать файл с правильной нумерацией, например:
Как пользоваться
Запустите скрипт из ярлыка: «Системные настройки»> «Клавиатура»> «Пользовательские ярлыки». Добавьте команду:
источник
Вы можете использовать следующий код Python, вы можете изменить его в соответствии со своими потребностями.
Сохраните следующий код с именем файла
filecreator.py
И затем выполните это с этой командой:
источник
bash
Способ хорош, но что , если вы работаете с оболочкой , которая не поддерживает расширение фигурной скобки?touch file{1..10}
не работает для меня,mksh
например. Вот три альтернативных способа, которые работают независимо от оболочки.сл
Более нейтральным для оболочки подходом было бы объединить
seq
команду, чтобы сгенерировать последовательность чисел, отформатированных с помощьюprintf
параметров, и передать ееxargs
команде. Например,Perl
Конечно, Perl, будучи довольно широко распространенным * nix-инструментом, тоже может это делать. Вот конкретная однострочная команда:
По сути, здесь происходит то, что мы указываем 3 аргумента командной строки: префикс имени файла, начальный индекс и конечный индекс. Затем мы используем
do { } for $ARGV[1] .. $ARGV[2]
для итерации для определенного диапазона чисел. Скажем,$ARGV[1]
было 5 и$ARGV[2]
9, мы повторим 5,6,7,8 и 9.Что происходит на каждой итерации в фигурных скобках? мы берем каждое число, указанное с помощью
$_
, и с помощьюsprintf()
функции создаем строку m, которая объединяет префикс (первый аргумент командной строки$ARGV[0]
) и заданное число, но заполняя число 4 нулями (что делается с помощьюprintf
-style форматирования,%04d
часть), и прикрепите.c
суффикс. В результате на каждой итерации мы создаем имя какbspl0001.c
.open(my $fh, ">", $var);close($fh)
Эффективно действует какtouch
команда, создавая файл с указанным именем.Несмотря на то, что он немного длинный, он работает довольно хорошо, в моде похож на сценарий Якоба Влиима на python. При желании его также можно преобразовать в скрипт для удобства чтения, например, так:
Давайте проверим это. Сначала однострочник:
А теперь сценарий:
AWK
Другой подход -
awk
запуск цикла for с перенаправлением на определенный файл. Подход похож на однострочник perl с аргументами командной строки. Хотяawk
это, прежде всего, утилита для обработки текста, она все же может выполнять некоторые крутые системные программы.источник