/open-dm-dq/standardizer/other/scripts/set.awk

https://bitbucket.org/pymma/mosaic · AWK · 20 lines · 19 code · 1 blank · 0 comment · 6 complexity · 6457ac0c4eeecef6eeca195e86cee2b0 MD5 · raw file

  1. /address\.set[A-Z]/ {
  2. tokens = gensub(/.*address\.set([A-Za-z]+)\((.*)\);/, "\\1|\\2", "g")
  3. split(tokens, arr, "|")
  4. propertyName = arr[1]
  5. propertyValue = arr[2]
  6. propertySymbol = ""
  7. for (i = 1; i <= length(propertyName); i++) {
  8. letter = substr(propertyName, i, 1)
  9. if (i > 1 && letter >= "A" && letter <= "Z") {
  10. propertySymbol = propertySymbol "_"
  11. }
  12. if (letter >= "a" && letter <= "z") {
  13. letter = toupper(letter)
  14. }
  15. propertySymbol = propertySymbol letter
  16. }
  17. gsub(/address.set[A-Za-z]+\(.*\);/, "address.set(Address." propertySymbol ", " propertyValue ");")
  18. }
  19. { print }