Использование Vim:
vim +'g/^/exe "norm! 3Wf=5\"' +wq file
Первый аргумент+
запускает ряд операций в обычном режиме для каждой строки, увеличивая число в 5 раз. Он использует команду:global
для запуска этого в каждой строке. Простое использование:normal
с диапазоном %norm
было бы проще, если бы мы не использовалиCTRLAдля увеличения числа, а чтобы (легко )передаем этот управляющий символ в Vim, мы создаем команду в виде строки для запуска с :execute
, поэтому нам нужен :global
.
Второй аргумент + просто сохраняет файл .
Если формат RANDOM TEXT менее регулярен (или если вы просто предпочитаете регулярные выражения ), вместо этого вы можете использовать команду:substitute
:
vim +'%s/num2=\zs\d\+/\=submatch(0) + 5' +wq file
При этом используется команда :substitute
для замены части N
в num2=N
существующим значением плюс пять.
WLS2 не имеет ядра Linux.
there are no kernel headers for WSL's "kernel" (actually a Windows driver)
Возможно, вам удастся обойтись без компиляции, установив другое ядро
# If asked to install grub, you can simply skip using Esc
sudo update && sudo apt install linux-generic -y
ls /lib/modules
5.7.2-arch1-1
Возможно, у вас будет другой вывод, но у вас должны быть установлены заголовки ядра. Вы можете изменить свою исходную команду, используя все, что вы получите вlib/modules
make -C /lib/modules/<kernel source from previous step>/build M=$(PWD) modules
Подсистема Windows для Linux версии 2 использует специальное ядро Linux от Microsoft, которое содержит все скомпилированные драйверы. Хотя оно поддерживает модули, оно не содержит их, как видно из конфигурации . файл . Таким образом, нет причин для отправки каталога /lib/modules
.
Кроме того, большинство дистрибутивов Linux, доступных для WSL, вообще не поставляют свои версии WSL с ядром. Поскольку Microsoft поставляет свои собственные продукты, для этого нет причин. Эти дистрибутивы Linux не поставляют сборочные пакеты для ядра Microsoft, потому что они не несут за него ответственности; Microsoft есть, и вам нужно поговорить с ними о пакетах.
Возможно, вы сможете загрузить модули в ядро, если будете использовать стандартные инструменты, но вам, скорее всего, потребуется выполнить сборку с соответствующим деревом исходных текстов. Вы можете либо попытаться найти подходящую версию в репозитории GitHub, на который я ссылался выше, либо вам может потребоваться связаться с Microsoft и запросить исходный код под GPLv2, который они обязаны предоставить вам по запросу.
Замечу, что WSL не предназначен для загрузки пользовательских модулей ядра; он не предназначен для использования в качестве полноценной среды Linux, а скорее для того, чтобы позволить людям разрабатывать и запускать стандартные приложения Linux в Windows. Если вы хотите заняться разработкой ядра Linux, вам, вероятно, потребуется полная установка Linux.