Сделайте удар использования awk с системой () командой

Я знаю, что Вы сказали, что не хотите броские горячие клавиши, но от того, что Вы хотите это, действительно походит на список функций GVIM. Возможно, это стоит использовать vimtutor изучить, почему (G) работы энергии как он делают. Я боялся слишком сначала, но теперь я не захочу возвращаться.

5
16.06.2012, 21:02
2 ответа

Если Вы хотите удар, необходимо будет или исправить простофилю или удар вызова непосредственно (заключение в кавычки становится немного волосатым):

gawk 'BEGIN {
    script="if [[ \"porc\" == \"porc\" ]]; then echo yes; else echo no; fi"
    system("bash -c '\''" script "'\''")
}'
5
27.01.2020, 20:40
  • 1
    , если это - единственные опции... –  haelix 16.06.2012, 22:31

awkможет делать это самостоятельно:

$ awk 'BEGIN { if ("A" < "B") print "A < B"; else print "A >= B" }'
A < B

Он даже обрабатывает регулярные выражения:

$ awk 'BEGIN { if ("thing" ~ "^t") print "t-something"; else print "not t-something" }'
t-something

Или, например,:

$ awk 'BEGIN { if ("porc" == "porc") print "yes"; else print "no" }'
yes

Использование awkиспользования system()для вызова внешней команды чрезвычайно медленно, а также делает невозможным вывод этой команды в любой пригодной для использования форме в самой программе awk.

0
27.01.2020, 20:40

Теги

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