РЕДАКТИРОВАТЬ: Чтобы сохранить пробелы, попробуйте следующее.
awk '
match([110],/elephant[^0-9]*/){
val=substr([110],RSTART,RLENGTH-1)
sub("elephant","",val)
$NF=val "my_string"
val=""
}
1
' Input_file
Не могли бы вы попробовать следовать (если вы в порядке с awk
).
awk '/elephant/{$NF="my_string"} 1' Input_file
Если вы хотите сохранить вывод в сам файл Input_file, попробуйте выполнить следующее.
awk '/elephant/{$NF="my_string"} 1' Input_file > temp_file && mv temp_file Input_file
Сборка не для хранения файлов, а для хранения кода. Хотя вы можете хранить файлы в сборке, они доступны только для чтения.
Если вы используете NTFS, вы можете использовать альтернативный поток данных. В моем проекте мы скрываем базу данных SQLite внутри другого файла, используя альтернативный поток под названием: DB.
SQLite упакован и распространяется как один файл C с несколькими (я думаю, 3) заголовочными файлами. Это означает, что вы можете скомпилировать всю программу из 50000 строк с помощью одной команды компиляции и получить файл .o. Оттуда вы можете связать его с DLL вашего приложения с другими файлами, которые вы связываете с этой DLL.
После встраивания sqlite3.o в DLL приложения символы в его API SQLite становятся доступными для ваших программ так же, как другие библиотеки DLL C / C ++ становятся доступными для ваших программ на C # / VB.
Посетите www.sqlite.org/amalgamation.html для получения дополнительной информации.
Я не думаю, что хранение данных в DLL - хорошая идея, но есть грязный способ сделать это.
Чтобы загрузить данные из DLL:
Теперь вы можете делать любые запросы в памяти.
Чтобы сохранить данные в DLL:
Это глупо, но должно работать. Надеюсь, вы никогда не будете так писать.