使用sed或awk用变量替换字符串的一部分

使用sed或awk用变量替换字符串的一部分,awk,sed,Awk,Sed,有没有办法用sed或awk将字符串的一部分替换为随机数 从URL列表文件中,我需要用随机数替换与模式匹配的每个GET URL参数 例如: 将“param1=”替换为随机数 因此,更换后: sed和awk的语法基本相同-扩展正则表达式是 s/(param)([0-9])=([0-9]{3,})/\1\2= { … fill in rand number u want … } /g' awk侧,无论是嘶哑还是呆呆 match($0, /(param)([0-9])=([0-9][0-

有没有办法用sed或awk将字符串的一部分替换为随机数

从URL列表文件中,我需要用随机数替换与模式匹配的每个GET URL参数

例如:

将“param1=”替换为随机数

因此,更换后:


    • sed和awk的语法基本相同-扩展正则表达式是

      s/(param)([0-9])=([0-9]{3,})/\1\2= { … fill in rand number u want … } /g'
      
      awk侧,无论是嘶哑还是呆呆

      match($0, /(param)([0-9])=([0-9][0-9]+)/);
      
      $0 = substr($0,1,RSTART + 6) 
           {…fill in rand #…} 
          substr($0, RSTART+RLENGTH); 
      
      不幸的是,由于
      mawk2
      既没有像
      \1\2
      这样的反向引用,也没有像
      {3,}
      这样的括号扩展,不幸的是,如果你想编写可移植代码,那么匹配就是最好的选择

      如果你想继续呆在
      gawk
      ,那么
      gensub
      工作正常