Sponsored Content
Full Discussion: Joining fixed width files
Top Forums Shell Programming and Scripting Joining fixed width files Post 303012213 by RudiC on Wednesday 31st of January 2018 05:09:15 PM
Old 01-31-2018
How about - for exactly your sample files given in post#1 -
Code:
awk '
                {$0 = substr($0,1,3) " " substr($0,length-3,2) " " substr($0,length-1,2)
                }

NR == FNR       {T1[$1] = $2
                 T2[$1] = $3
                 next
                }

                {$0 = $1 $2 T1[$1] $3 T2[$1]
                 $0 = sprintf ("%s%*s", $0, 11-length, "")
                }

1

' file2 file1
Cu1L1B1L2B2
Cu2L1L2    
Cu3L1B1L2B2

This User Gave Thanks to RudiC For This Post:
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Fixed Width file using AWK

I am using the following command at the Unix prompt to make my 'infile' into a fixed width file of 100 characters. awk '{printf "%-100s\n",$0}' infile > outfile However, there are some records with a special character "©" These records are using 3 characters in place of one and my record... (2 Replies)
Discussion started by: alok.benjwal
2 Replies

2. UNIX Desktop Questions & Answers

Help with Fixed width File Parsing

I am trying to parse a Fixed width file with data as below. I am trying to assign column values from each record to variables. When I parse the data, the spaces in all coumns are dropped. I would like to retain the spaces as part of the dat stored in the variables. Any help is appreciated. I... (4 Replies)
Discussion started by: sate911
4 Replies

3. Shell Programming and Scripting

Removing \n within a fixed width record

I am trying to remove a line feed (\n) within a fixed width record. I tried the tr -d ‘\n' command, but it also removes the record delimiter. Is there a way to remove the line feed without removing the record delimiter? (10 Replies)
Discussion started by: CKT_newbie88
10 Replies

4. Shell Programming and Scripting

awk: creating a fixed-width single file from 2 different files

I have to create a single file from three files, Please see below for samples: day.txt 20090101 20090102 item.txt 123456789101 12345678910209 1234567891 str.txt 1 12 123 output.txt 20090101123456789101 1 0 2009010112345678910209 12 ... (2 Replies)
Discussion started by: tamahomekarasu
2 Replies

5. Shell Programming and Scripting

Printing Fixed Width Columns

Hi everyone, I have been working on a pretty laborious shellscript (with bash) the last couple weeks that parses my firewall policies (from a Juniper) for me and creates a nifty little columned output. It does so using awk on a line by line basis to pull out the appropriate pieces of each... (4 Replies)
Discussion started by: cixelsyd
4 Replies

6. Shell Programming and Scripting

Fixed-Width file from Oracle

Hi All, I have created a script which generates FIXED-WIDTH file by executing Oracle query. SELECT RPAD(NVL(col1,CHR(9)),20)||NVL(col2,CHR(9))||NVL(col3,CHR(9) FROM XYZ It generates the data file with proper alignment. But if same file i transfer to windows server or Mainframe... (5 Replies)
Discussion started by: Amit.Sagpariya
5 Replies

7. Shell Programming and Scripting

Comparing two fixed width file

Hi Guys I am checking the treads to get the answer but i am not able to get the answer for my question. I have two files. First file is a pattern file and the second file is the file i want to search in it. Output will be the lines from file2. File1: P2797f12af 44751228... (10 Replies)
Discussion started by: anshul_er
10 Replies

8. Shell Programming and Scripting

variable fixed-width fields

Hi there, CTL Port IO Rate(IOPS) Read Rate(IOPS) Write Rate(IOPS) Read Hit(%) Write Hit(%) Trans. Rate(MB/S) Read Trans. Rate(MB/S) Write Trans. Rate(MB/S) 09:36:48 0 A 136 0 135 97 100 ... (6 Replies)
Discussion started by: gray380
6 Replies

9. UNIX for Dummies Questions & Answers

Length of a fixed width file

I have a fixed width file of length 53. when is try to get the lengh of the record of that file i get 2 different answers. awk '{print length;exit}' <File_name> The above code gives me length 50. wc -L <File_name> The above code gives me length 53. Please clarify on... (2 Replies)
Discussion started by: Amrutha24
2 Replies

10. Shell Programming and Scripting

Alter Fixed Width File

Thank u so much .Its working fine as expected. ---------- Post updated at 03:41 PM ---------- Previous update was at 01:46 PM ---------- I need one more help. I have another file(fixed length) that will get negative value (ex:-00000000003000) in postion (98 - 112) then i have to... (6 Replies)
Discussion started by: vinus
6 Replies
STRSPN(3)								 1								 STRSPN(3)

strspn - Finds the length of the initial segment of a string consisting entirely of characters contained within a given mask.

SYNOPSIS
int strspn (string $subject, string $mask, [int $start], [int $length]) DESCRIPTION
Finds the length of the initial segment of $subject that contains only characters from $mask. If $start and $length are omitted, then all of $subject will be examined. If they are included, then the effect will be the same as call- ing strspn(substr($subject, $start, $length), $mask) (see "substr" for more information). The line of code: <?php $var = strspn("42 is the answer to the 128th question.", "1234567890"); ?> 2 to $var, because the string "42" is the initial segment of $subject that consists only of characters contained within "1234567890". PARAMETERS
o $subject - The string to examine. o $mask - The list of allowable characters. o $start - The position in $subject to start searching. If $start is given and is non-negative, then strspn(3) will begin examining $sub- ject at the $start'th position. For instance, in the string ' abcdef', the character at position 0 is ' a', the character at posi- tion 2 is ' c', and so forth. If $start is given and is negative, then strspn(3) will begin examining $subject at the $start'th position from the end of $subject. o $length - The length of the segment from $subject to examine. If $length is given and is non-negative, then $subject will be examined for $length characters after the starting position. If $length is given and is negative, then $subject will be examined from the starting position up to $length characters from the end of $subject. RETURN VALUES
Returns the length of the initial segment of $subject which consists entirely of characters in $mask. EXAMPLES
Example #1 strspn(3) example <?php // subject does not start with any characters from mask var_dump(strspn("foo", "o")); // examine two characters from subject starting at offset 1 var_dump(strspn("foo", "o", 1, 2)); // examine one character from subject starting at offset 1 var_dump(strspn("foo", "o", 1, 1)); ?> The above example will output: int(0) int(2) int(1) NOTES
Note This function is binary-safe. SEE ALSO
strcspn(3). PHP Documentation Group STRSPN(3)
All times are GMT -4. The time now is 12:55 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy