[az] +,[AZ] +,[0-9] +并在awk中标记命令

塔诺斯

我试图理解awk中的一些命令,这些命令与awk中的If语句有关,以更改值问题。

输入文件是

...
MODE P E
IMP:P 1 19r 0
IMP:E 1 19r 0
...
SDEF POS= 0 0 14.6 AXS= 0 0 1 EXT=d3 RAD= d4 cell=23 ERG=d1 PAR=2
SI1 L  0.020
SP1    1
SI4 0. 3.401                                                                    
SI3 0.9 
...
NPS 20000000

和代码是

#! /bin/bash

vals=(0.02 0.04)

for val in "${vals[@]}"; do
awk -v val="$val" '
  BEGIN { i=1; split (val,v," ") }
  # If it is a string, find the sequence SI1 L and change the value after that, using values that the user inputs
  /SDEF POS.*ERG=[a-zA-Z]+/ { flag="y" ; }
  /SI1 L/ { if (flag=="y") { $3=v[i]; i++; flag="n"; } }
  # If it is a number, change the number using values that the user inputs.
  /SDEF POS.*ERG=[0-9]+ / { sub(/ERG=[0-9]*/, "ERG="v[i],$0);i++; }
  1
' 20small > "${val}"
done

我正在尝试理解以下内容

  1. 为什么在之后[a-z][A-Z]并且[0-9]+标志?我可以理解,这些命令会在定义的序列后搜索任何字母和数字,但是我似乎不知道该+怎么做。
  2. 到底是flag做什么的?我可以理解,/<expresion>/ flag="y"“取代”的<expresion>y我似乎不明白在下面几行更改标志的原因。像假旗吗?
  3. 到底是/ /做什么的?我知道这声明了搜索模式。为什么加上SDEFPOS只是为了确保这是正确的行?我也发现混淆了的使用.*这是否意味着查找SDEF POS行并在同一行中查找,ERG无论它们之间是什么到底是/SDEF POS.*ERG=[a-zA-z]+/做什么的?

我是菜鸟,awk所以我想以身作则。一个帮助将更加令人欢迎!

乔特尼
  1. +表示一个或多个重复。例如,a+将匹配a aa aaa等。a*与匹配+,但也没有a

  2. 标志用作临时信息持有者。

  3. / / 是正则表达式的持有者,用于表明它必须与两个中的正则表达式匹配 /

我确实建议您查看一些awk衬管,并尝试了解它们的工作原理。另外,请先阅读一些awk教程。您可以使用Google找到很多东西。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

[az] +,[AZ] +,[0-9] +并在awk中标记命令

来自分类Dev

Python计数0-9然后az

来自分类Dev

ruby regex允许AZ,az,0-9,句点,连字符和空格

来自分类Dev

对AZ AZ 0-9和斜线使用preg_replace

来自分类Dev

0-9,az,AZ是否区分大小写的to_s和to_i方法?

来自分类Dev

Java中的Char测试器(大写AZ,小写AZ,数字0-9,其他)

来自分类Dev

PHP-使用preg_match格式(az,AZ,0-9)检查正确的文本

来自分类Dev

ruby regex允许AZ,az,0-9,句点,连字符和空格

来自分类Dev

对AZ AZ 0-9和斜线使用preg_replace

来自分类Dev

如何检查字符串是否仅包含“az”、“AZ”和“0-9”字符

来自分类Dev

生成伪随机字符串AZ,0-9

来自分类Dev

生成伪随机字符串AZ,0-9

来自分类Dev

案例按AZ升序和0-9降序排序?

来自分类Dev

Bash egrep正则表达式AZ,az,0-9和加号,减号,空格似乎不起作用

来自分类Dev

如何编写包含“ AZ”和“ az”以及“ 0-9”和“-”和“ _”的正则表达式

来自分类Dev

JavaScript:除AZ az 0-9和符号外,要修剪的正则表达式是什么?

来自分类Dev

Bash egrep正则表达式AZ,az,0-9和加号,减号,空格似乎不起作用

来自分类Dev

包含除 [AZ][az][0-9][\s][-] 以外的任何字符串的正则表达式

来自分类Dev

如何在 Angular 7 中使用数字 0-9 和字母 az 和 AZ 验证用户输入?

来自分类Dev

symfony2实体验证正则表达式AZ 0-9

来自分类Dev

使用preg_match,preg_replace仅允许aZ,0-9

来自分类Dev

为什么正则表达式'[az] [0-9] + $'不起作用

来自分类Dev

对 AZ、0-9、- 和点使用正则表达式?

来自分类Dev

解决Java Checkstyle错误:名称'logger'必须与模式'^ [AZ] [A-Z0-9] *(_ [A-Z0-9] +)* $'相匹配

来自分类Dev

javascript正则表达式不起作用:至少一个0-9,一个az,一个AZ,从$ \ -_中的一个。+!*'()

来自分类Dev

这个正则表达式是什么意思/ ^ [az] {1} [a-z0-9 _] {3,13} $ /

来自分类Dev

PHP函数仅保留az 0-9并将空格替换为“-”(包括正则表达式)

来自分类Dev

如何计算没有az,0-9,下划线,破折号和句号的特殊字符?

来自分类Dev

将[az],[az]替换为[az],[az],并保留字母

Related 相关文章

  1. 1

    [az] +,[AZ] +,[0-9] +并在awk中标记命令

  2. 2

    Python计数0-9然后az

  3. 3

    ruby regex允许AZ,az,0-9,句点,连字符和空格

  4. 4

    对AZ AZ 0-9和斜线使用preg_replace

  5. 5

    0-9,az,AZ是否区分大小写的to_s和to_i方法?

  6. 6

    Java中的Char测试器(大写AZ,小写AZ,数字0-9,其他)

  7. 7

    PHP-使用preg_match格式(az,AZ,0-9)检查正确的文本

  8. 8

    ruby regex允许AZ,az,0-9,句点,连字符和空格

  9. 9

    对AZ AZ 0-9和斜线使用preg_replace

  10. 10

    如何检查字符串是否仅包含“az”、“AZ”和“0-9”字符

  11. 11

    生成伪随机字符串AZ,0-9

  12. 12

    生成伪随机字符串AZ,0-9

  13. 13

    案例按AZ升序和0-9降序排序?

  14. 14

    Bash egrep正则表达式AZ,az,0-9和加号,减号,空格似乎不起作用

  15. 15

    如何编写包含“ AZ”和“ az”以及“ 0-9”和“-”和“ _”的正则表达式

  16. 16

    JavaScript:除AZ az 0-9和符号外,要修剪的正则表达式是什么?

  17. 17

    Bash egrep正则表达式AZ,az,0-9和加号,减号,空格似乎不起作用

  18. 18

    包含除 [AZ][az][0-9][\s][-] 以外的任何字符串的正则表达式

  19. 19

    如何在 Angular 7 中使用数字 0-9 和字母 az 和 AZ 验证用户输入?

  20. 20

    symfony2实体验证正则表达式AZ 0-9

  21. 21

    使用preg_match,preg_replace仅允许aZ,0-9

  22. 22

    为什么正则表达式'[az] [0-9] + $'不起作用

  23. 23

    对 AZ、0-9、- 和点使用正则表达式?

  24. 24

    解决Java Checkstyle错误:名称'logger'必须与模式'^ [AZ] [A-Z0-9] *(_ [A-Z0-9] +)* $'相匹配

  25. 25

    javascript正则表达式不起作用:至少一个0-9,一个az,一个AZ,从$ \ -_中的一个。+!*'()

  26. 26

    这个正则表达式是什么意思/ ^ [az] {1} [a-z0-9 _] {3,13} $ /

  27. 27

    PHP函数仅保留az 0-9并将空格替换为“-”(包括正则表达式)

  28. 28

    如何计算没有az,0-9,下划线,破折号和句号的特殊字符?

  29. 29

    将[az],[az]替换为[az],[az],并保留字母

热门标签

归档