Link to home
Start Free TrialLog in
Avatar of ersatz
ersatz

asked on

substr-awk problem

Hi,
I am not a unix specialist but I need a script to resolve my problem. I know the algorithm but I don’t know to write this using awk in my script.
I want to have something like this:

If substr($6, length($6-1) =”_” then
TBL=$6$REG_TBL
Else
TBL=substr($6,1,18)$REG_TBL”_DM”
endif

Can somebody help my, please?
Thanks in advance
P.S.  I take $6 from rfsh.env file
Avatar of shivsa
shivsa
Flag of United States of America image

could u post a simple example with all the values fill in.
ii can not understand the question.
> substr($6, length($6-1)
returns a string >= 0 characters
did you probably mean
  substr($6,length($6))

Then it's something like this:

{ REG_TBL_DM='irgendein ersatz'; REG_TBL='ersetzen';
  if (substr($6,length($6)) == "_"){
     TBL=$6REG_TBL
  } else {
    TBL=substr($6,1,18)$REG_TBL_DM
  }
Avatar of HamdyHassan
HamdyHassan


I think he means ..................

if last char of $6 is "_"  then  table name will be $6$REG_TBL
otherwise It will be "first 18 char of $6" + $REG_TBL + "_DM"





Avatar of ersatz

ASKER

Hi,
You have right,I made a mistake.
My 6th column contains a variable string.
Example of this field value: F4REP_ACCOUNT_OUT_
or                            F4REP_ACCOUNT_OUT_ _DM.
REG_TBL=MMFSA
If substr($6, length($6-1), 1) =”_” then
TBL=$6$REG_TBL                      ($6 concatenate with $REG_TBL)
Else
TBL=substr($6,1,18)$REG_TBL”_DM”   (substr($6,1,18) concatenate with $REG_TBL concatenate with  "_DM"
endif
I am waiting for your answer.
Thanks again
ASKER CERTIFIED SOLUTION
Avatar of shivsa
shivsa
Flag of United States of America image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
if the answer was just worth a B grading, what is more worth than mine?