#file #printing #wxmaxima
#файл #печать #wxmaxima
Вопрос:
Я собирал локальную библиотеку .mac
файлов и вызывал их из одного .mac
файла, содержащего push
мой локальный каталог, а затем load
для каждого отдельного скрипта.
Это отлично работает на моем рабочем столе; однако мне также нужно скопировать полное содержимое всех этих скриптов для использования в другом месте (где копии файлов в настоящее время не могут быть сохранены, но полные копии скриптов могут быть включены). Есть ли какая-нибудь команда в Maxima, которая позволила бы мне печатать содержимое нескольких файлов одновременно, чтобы я мог легко скопировать выходные данные и вставить их в другую среду maxima?
Я действительно ищу любой способ, который позволил бы мне сделать это, — это одна копия-вставка (против копирования-вставки каждого отдельного файла).
Ответ №1:
Я совершенно новичок в программировании, поэтому потребовалось некоторое время, прежде чем я понял, что это не обязательно должно быть достигнуто изнутри Maxima, но может быть сделано, например, с терминала или где-либо еще.
В частности, в macOS, используя терминал, просто перейдите в каталог, содержащий все файлы, и запустите команду конкатенации
cat * > name_of_new_compiled_file.ext
создаст новый .ext
файл, содержащий все файлы в текущем каталоге, благодаря подстановочному *
знаку.
Порядок может не соблюдаться, в зависимости от шаблона для имен файлов, и для выборочного включения определенных файлов можно использовать следующие параметры (как описано в одном из ответов на на сайте unix / linux SE), приведенные ниже для удобства. Полная благодарность Флорину Идите, который опубликовал следующее краткое и полезное объяснение.
Допустим, у вас есть:
~/file01
~/file02
~/file03
~/file04
~/fileA
~/fileB
~/fileC
~/fileD
И вам нужны только file01 для file03 и fileA для FileC:
cat ~/file01 ~/file02 ~/file03 ~/fileA ~/fileB ~/fileC > merged-file
Или, используя расширение фигурной скобки:
cat ~/file0{1..3} ~/file{A..C} > merged-file
Или, используя более причудливое расширение фигурных скобок:
cat ~/file{0{1..3},{A..C}} > merged-file
Или вы можете использовать цикл for:
for i in file0{1..3} file{A..C}; do cat ~/"$i"; done > merged-file