masking issue


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting masking issue
# 1  
Old 04-12-2010
masking issue

Hi I am facing an issue with the below script which has the below line
each field being separated with a tab.

I need to mask the 8 and 7th field based on following conditions
Code:
1. 8th field is 16 in length and is numerics
i will mask the middle 6 digits except the first 6 and last 4.
input
4035841234565089
 
output
403584******5089

Code:
2. 7th field is similar to 8th field with first four digits ripped off
so for the above it will be, i will mask the 7th field only if 8th field satisfies the condition 1
and is masked 
Input
841234565089
output
84******5089

down below in the script i am reading the set of .txt files read from file.list and masking it.

Code:
ls *.txt | while read file
    do
        awk -F"\t" '
        BEGIN {OFS="\t"}
        $0 ~/^./ {
            for(i=1;i<=NF;i++)
            {
                if( $(i+8) ~ /[^0-9]/ )
                {
                    $(i+8)=$(i+8)
                }
                else
                {
                    if(length($(i+8))=16)
                    {
                        $(i+8)=substr($(8+i),1,6)"******"substr($(8+i),13,$)
 
                    }
                }
            }
        }1' $file > "$file"_mask
    done < file.list

But i not getting the desired result, please advice

Code:
 
Input
2   PL10040101  GL63415270  Mar 30 2010 12:00:00:000AM  214550  0530    841234565089    4035841234565089    24.23999999999999
8   24.239999999999998  GBP Mar 30 2010 12:00:00:000AM  0                           25918
2   PL10040101  GL63418486  Mar 30 2010 12:00:00:000AM  214550  3947    841234569175    4035841234569175    21.66   21.66   G
BP  Mar 30 2010 12:00:00:000AM  0

Code:
 
output
2   PL10040101  GL63415270  Mar 30 2010 12:00:00:000AM  214550  0530    84******5089    403584******5089    24.23999999999999
8   24.239999999999998  GBP Mar 30 2010 12:00:00:000AM  0                           25918
2   PL10040101  GL63418486  Mar 30 2010 12:00:00:000AM  214550  3947    84******9175    403584******9175    21.66   21.66   G
BP  Mar 30 2010 12:00:00:000AM  0

# 2  
Old 04-12-2010
Code:
nawk '
  BEGIN {
    FS=OFS="\t"
  }
  {$8=substr($8,1,6) "******" substr($8,13); $7=substr($7,1,2) "******" substr($7, 9)}
  1' $file > "$file"_mask

# 3  
Old 04-12-2010
Hi Mad_man12,

You might need to amend the below script a bit , as it seems there is bit error:

Code:
 
awk '$11 ~ /[0-9]/ && length($11) == 16 
{ c=1; temp=substr($11,1,6)"******"substr($11,12,4)}
substr($11,5,12) == $10 && c = 1 
{ $10=substr($10,1,2)"******"substr($10,9,4) ; c = 0;c1=1}
{
if(c1==1)$11=temp;print;temp="";c1=0}' 
input_file

Note : I assumed in the above script the space is delimiter.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Large File masking incorrectly happening Ç delimeter issue

The OS version is Red Hat Enterprise Linux Server release 6.10 I have a script to mask some columns with **** in a data file which is delimeted with Ç , I am using awk for the masking , when I try to mask a small file the awk works fine and masks the required column , but when the file is... (6 Replies)
Discussion started by: LinuxUser8092
6 Replies

2. Shell Programming and Scripting

Masking with gsub command

My file "test.dat" data as below Requirement is to mask(replace) all english characters with "X" EXCEPT first 7 characters of every line. my command awk '{gsub("]","X")}1' test.dat looks not working properly, Appreciate any suggestion... (6 Replies)
Discussion started by: JSKOBS
6 Replies

3. UNIX for Dummies Questions & Answers

Masking data

How Can I mask one particular columns using some unix command? (4 Replies)
Discussion started by: dsa
4 Replies

4. Shell Programming and Scripting

Masking algorithm

I have a requirement of masking few specific fields in the UNIX file. The details are as following- File is fixed length file with each record of 250 charater length. 2 fields needs to be masked – the positions are 21:30 and 110:120 The character by character making needs to be done which... (5 Replies)
Discussion started by: n78298
5 Replies

5. Programming

Masking Password with *'s

So I've been working on this for some time now and can't seem to find the solution that works for me. I'm working in C/Unix. Basically, I want to take a user input and output something different. For example, I want to take a password and output *'s. In another instance, I want to take inputed... (35 Replies)
Discussion started by: bigdrock44
35 Replies

6. UNIX for Advanced & Expert Users

.htaccess redirect with masking

I am looking to forward the following with masking via my .htaccess file: www.mywebsite.com/origpage www.mywebsite.com/newpage I do not want to forward the entire site, just this one page with masking. Neither page has an extension. I am able to forward with .htaccess - but it does not mask the... (1 Reply)
Discussion started by: globalnerds
1 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

Data Masking

I have a pipe delimited file that I need to 'mask' to before loading to keep some data confidential. I need to maintain the first 4 bytes of certain columns and replace the remaining bytes with an 'x'. I would like to maintain spaces but it's not a requirement. Example, need to mask columns 2... (2 Replies)
Discussion started by: 1superdork
2 Replies

9. Shell Programming and Scripting

Masking Content of a String

Hello, I need to know that whether a content of a string can be hidden or masked inside a shell script. My Sample Code is given below <Code> #!/usr/bin/ksh Userid=test DB=temp Passwd=`java Decryption test` # The Above command will get the encryped password for "test" user id and store... (2 Replies)
Discussion started by: maxmave
2 Replies

10. IP Networking

IP Masking

Is it possible for a internal LAN to mask a IP e.g. i have a server ip running the intranet ip being 192.168.0.8 and i want to make that like www.intranet.com is this possible on a internal network ? (1 Reply)
Discussion started by: perleo
1 Replies
Login or Register to Ask a Question