Masking Bank Account Number except last 4 digits in the file


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Masking Bank Account Number except last 4 digits in the file
# 8  
Old 09-12-2018
Hello MadeinGermany,

How to pass the below file to your script and then updated with masking value in 11th column in the file?

File Name: Sample.txt
Code:
560|101012|4267||||||||520114025017|Balance_bank|06/30/2018||||151716.41|AUD
448|101034|3148||||||||232041005|Balance_bank|06/30/2018||||991.23|AUD
270|101034|2770||||||||121339005|Balance_bank|06/30/2018||||594217.11|AUD
P59|101017|1765||||||||177-000072-011|Balance_bank|06/30/2018||||0.00|CNY

Thank you

Last edited by vgersh99; 09-12-2018 at 10:48 AM.. Reason: Code tags, please!
# 9  
Old 09-12-2018
Code:
echo '560|101012|4267||||||||520114025017|Balance_bank|06/30/2018||||151716.41|AUD' | awk -F'|' 'BEGIN{m="XXXXXXXXXXXXX"} {l=length($11);$11=substr(m,1,l-4) substr($11,l-3)}1' OFS='|'

# 10  
Old 09-12-2018
My script in post#7 reads from stdin.
You must redirect it from the input file:
Code:
bash /path/to/script < Sample.txt

Additionally redirect the stdout to a new file:
Code:
bash /path/to/script < Sample.txt > Newfile.txt

If the x-bit is set on /path/to/script you can run it directly, it will take the interpreter from its #! shebang
Code:
/path/to/script < Sample.txt > Newfile.txt

# 11  
Old 09-12-2018
Hi Vgerh99,

It works perfect. How to copy these results into the same file?


Code:
awk -F'|' 'BEGIN{m="XXXXXXXXXXXXX"} {l=length($11);$11=substr(m,1,l-4) substr($11,l-3)}1' OFS='|' NOAD_BK_BAL_MULTI_CURR_*

thanks,
Pradeep

Last edited by vgersh99; 09-12-2018 at 11:28 AM..
# 12  
Old 09-12-2018
Quote:
Originally Posted by Pradeep R
Hi Vgerh99,

It works perfect. How to copy these results into the same file?


Code:
awk -F'|' 'BEGIN{m="XXXXXXXXXXXXX"} {l=length($11);$11=substr(m,1,l-4) substr($11,l-3)}1' OFS='|' NOAD_BK_BAL_MULTI_CURR_*

thanks,
Pradeep
Firstly, please start using code tags as outlined in the Forum's rules.

awk doesn't have the inline editing capabilities. You'll have wrap awk within a shell script, saving the output of awk to a temp file and then MVing the temp file to the original (when satisfied with the results).
E.g.
Code:
awk -F'|' 'BEGIN{m="XXXXXXXXXXXXX"} {l=length($11);$11=substr(m,1,l-4) substr($11,l-3)}1' OFS='|' myFile >|/tmp/myTempFile
mv /tmp/myTempFile myFile


Last edited by vgersh99; 09-12-2018 at 12:25 PM.. Reason: sample code
# 13  
Old 09-12-2018
Hi,
For fun, another bash script:
Code:
while IFS=\| read -a ARR
do
  [[ ${#ARR[10]} -gt 4 ]] && { 
    XX="${ARR[10]::((${#ARR[10]}-4))}"
    YY="${ARR[10]:((${#ARR[10]}-4)):4}"
    ARR[10]="${XX//?/X}$YY"
  }
  printf "%s" "${ARR[0]}"
  unset ARR[0]
  printf "|%s" "${ARR[@]}"
  printf "\n"
done </tmp/sample.txt

Regards.
# 14  
Old 09-12-2018
Thank you so much guys. It's really helped me.
Login or Register to Ask a Question

Previous Thread | Next Thread

9 More Discussions You Might Find Interesting

1. Post Here to Contact Site Administrators and Moderators

Verify from one account number to another account number

Hi, Can anyone suggest me for the below steps. Here the index files is nothing but a text file and In index file there are n number of pdf files. Step 0 check out if this is for A(index file) or B(index file) 1. Read the first line of the original index file 2. Read the 9th character... (1 Reply)
Discussion started by: pavand
1 Replies

2. Shell Programming and Scripting

Find number of digits in a word

HI, Can you tell me how to find the number of digits in a word. $cat data.txt +123456ad 87645768 Output should be 6 8 (5 Replies)
Discussion started by: ashwin3086
5 Replies

3. Shell Programming and Scripting

awk changes to cut number of digits

HCPM1ONDB00014800011800000589009211201 L201307022013070228AUD 00000000031. 000965105800000000000000000000000 MOBITV KEYA ... (4 Replies)
Discussion started by: mirwasim
4 Replies

4. Shell Programming and Scripting

extracting Number variable and the following digits.

HI all, I have output of something like this: crab: ExitCodes Summary >>>>>>>>> 12 Jobs with Wrapper Exit Code : 50117 List of jobs: 1-12 See https:///twiki/something/ for Exit Code meaning crab: ExitCodes Summary >>>>>>>>> 5 Jobs with Wrapper Exit Code : 8001 List of... (20 Replies)
Discussion started by: emily
20 Replies

5. Shell Programming and Scripting

summing the digits of a binary nuMBER

please help me write a perl program to find the difference of 1 and zeros of a 6 digit binary number. eg If input is 111100 expected output +2 if input is 000011 expected output -2 input is 000111 expected output 0 (2 Replies)
Discussion started by: dll_fpga
2 Replies

6. Shell Programming and Scripting

number of digits after decimal

Hi All, I have a file of decimal numbers, cat file1.txt 1.1382666907 1.2603107334 1.6118799297 24.4995857056 494.7632588468 560.7633734425 ..... I want to see the output as only 7 digits after decimal (5 Replies)
Discussion started by: senayasma
5 Replies

7. Emergency UNIX and Linux Support

Masking of number

BAT:0310:2009-08-0:Y4 :H:D:00003721:03103721.IFH:00138770:05767:00000000001279' EXR:CLP:912.570000' STA:A:9071559:2009-08-10::Wer::Mrs' DEF::531.97:531.97:310221661617::+ABC:BAL:1:N::::5:40.00:0.00:2009-08-10:CN:1111111111109962::3:N:missc :N:PH:00010833:... (5 Replies)
Discussion started by: mad_man12
5 Replies

8. Shell Programming and Scripting

Count number of digits in a word

Hi all Can anybody suggest me, how to get the count of digits in a word I tried WORD=abcd1234 echo $WORD | grep -oE ] | wc -l 4 It works in bash command line, but not in scripts :mad: (12 Replies)
Discussion started by: ./hari.sh
12 Replies

9. UNIX for Advanced & Expert Users

restrain the number of digits of a PID

How is it possible under UNIX to restrain the number of digits of the PID number? For instance, we have a product that generates a PID of 7 digits, and we would like to have only 6 digits maximum instead for the PID. Thank you for your help. (1 Reply)
Discussion started by: mlefebvr
1 Replies
Login or Register to Ask a Question