Я динамически генерирую некоторый код SDK для нескольких наборов API, и мне нужно объединить подмножества файлов, чтобы моя конечная структура импорта работала.
У меня есть файл, давайте назовем его methods_to_import.txt
, из которых я я уже извлек строки, которые мне нужно вставить, используя:
awk '/method_imports_im_matching/{print}' file_i_need_to_copy_methods_from.rb > method_to_import.txt
Мне нужно вставить methods_to_import.txt
в указанную c строку основного файла my_api.rb
, которая выглядит примерно так:
# Models
require 'models/account'
require 'models/account_type'
...
// the line I need to insert the text file into ( ex. line 10 )
# APIs
require 'my_api'
module My Class
...
end
Я нашел способы полностью перезаписать файл: echo "foo" > bar.txt
или вставить одну строку в указанную c строку файла: awk 'NR==3{print "Single String, but not the entire file output :("}1' my_api.rb
https://unix.stackexchange.com/questions/271475/insert-text-at-specific-line-number
Возможно, мне нужно l oop каждой строки в файле .txt и построчно вставлять в файл .rb?
Но я не могу понять, как вставить весь текстовый файл в указанную строку c существующего файла. Я уверен, что это можно сделать с помощью комбинации sed
|| awk
. Заранее спасибо.