Передача аргумента в AWK

основано на моем гуглении бродяги и шоколада
а также обновление последовало.
Я предположил, что лучшим описанием вашей ситуации будет

  1. Хост Windows 10 с WSL (Подсистема Windows для Linux)
  2. VirtualBox и Vagrant, установленные через графический интерфейс Windows
  3. Приложение Ubuntu из Магазина Windows (статус неизвестен, я не знаком с этим)
  4. VirtualBox, установленный через WSL в приложении Ubuntu
  5. включенная переменная env PATH включенного WSL Bashбыла перепутана установкой двух VirtualBox
  6. текущий статус двух установок VirutalBox, неизвестно

всегда проще установить с нуля, чем исправить что-то напутанное.

Итак, основываясь на предполагаемом описании выше и заявлении о том, что вы устанавливали эти 3 вещи для курса nginx.
вот мое предложение:

  1. удалите ваш WSL и приложение Ubuntu, удалите оставшийся каталог, если необходимо, vagrant и choco должны исчезнуть вместе с ними.
  2. В графическом интерфейсе удалите виртуальную машину Ubuntu из VirtualBox. переустановка VirtualBox не очистит виртуальную машину, вам придется удалить ее вручную.
  3. удалить VirtualBox и Vagrant с помощью программы установки и удаления Windows 10
  4. перезагрузить виндовс 10
  5. установить VirtualBox и Vagrant через графический интерфейс Windows .
  6. не устанавливайте приложение WSL и Ubuntu .
  7. продолжайте следовать инструкциям на коробке для Vagrant CLI Windows , команды предназначены для Windows cmd или powershell, а не для WSL.
  8. Гостевой ящик Ubuntu можно получить из здесь , ищите предварительно -настроенные ящики с включенным nginx.

цитаты из бродяги
Предупреждение :Дополнительная тема! Использование Vagrant в подсистеме Windows для Linux — сложная тема, к которой должны подходить только опытные пользователи Vagrant, достаточно хорошо разбирающиеся в Windows, WSL и Linux.

Извините, если вы все еще заинтересованы в Vagrant в WSL и приложении Windows Store Ubuntu, у меня нет дополнительной информации.

3
25.11.2020, 20:15
1 ответ

awk не использует $для раскрытия переменных, кроме того, они передаются с опцией -v, а не -f. Также строки внутри /.../будут рассматриваться как шаблон регулярного выражения, поэтому вам нужно использовать оператор сопоставления шаблона ~со всей строкой($0):

awk -v var=HMDB0000008 -v RS="\n+?[$]{4}\n+?" '$0 ~ var' test.txt
5
18.03.2021, 22:47

Теги

Похожие вопросы