Sponsored Content
Top Forums UNIX for Advanced & Expert Users insert pipe in file to separate values Post 102391 by buffoonix on Friday 17th of March 2006 11:44:06 AM
Old 03-17-2006
You could use Perl's unpack() to read fixed length field records.

e.g. put something like this in a file and have it run through Perl

<pre>
$ cat insert_pipes.pl
#!/usr/bin/perl

while (<DATA>) {
chomp;
@unpacked = unpack 'A1A3A8A8A5A9x1A*', $_;
print join('|', @unpacked[0..5], q{ }, $unpacked[-1], q{}), "\n";
}
__DATA__
B065200512312004123111010000061451 000021853
B065200512312004123111020000621907 000417802
B065200512312004123111030000005214 000005861
B065200512312004123111040000120133 000088448


$ ./insert_pipes.pl
B|065|20051231|20041231|11010|000061451| |000021853|
B|065|20051231|20041231|11020|000621907| |000417802|
B|065|20051231|20041231|11030|000005214| |000005861|
B|065|20051231|20041231|11040|000120133| |000088448|
</pre>

N.B. to moderators,
How do I enable markup recognition in this forum?
 

10 More Discussions You Might Find Interesting

1. UNIX for Advanced & Expert Users

insert pipe in the finish of the line

hi, i have a flat file, with lines (records), and fields, and each field is separated by pipe ( | ) : 1|078|012006|3,9 2|078|012006|8692275|4|2|GON3507090 2|078|012006|7655734|9|0|GON3507090 2|078|012006|7572405|5|4|GCR5N07090 what i need is to insert a pipe in the end of the line:... (3 Replies)
Discussion started by: DebianJ
3 Replies

2. Shell Programming and Scripting

hw to insert array values sequentially in a file

Hi All :), I am very new to unix. I am requiring ur help in developing shell script for below problem. I have to replace the second field of file with values of array sequentially where first field is ValidateKeepVar <File> UT-ExtractField 1 | &LogEntry &Keep(DatatoValidate)... (3 Replies)
Discussion started by: rohiiit.sharma
3 Replies

3. Shell Programming and Scripting

Korn shell program to parse CSV text file and insert values into Oracle database

Enclosed is comma separated text file. I need to write a korn shell program that will parse the text file and insert the values into Oracle database. I need to write the korn shell program on Red Hat Enterprise Linux server. Oracle database is 10g. (15 Replies)
Discussion started by: shellguy
15 Replies

4. Shell Programming and Scripting

How to insert a sequence number column inside a pipe delimited csv file using shell scripting?

Hi All, I need a shell script which could insert a sequence number column inside a dat file(pipe delimited). I have the dat file similar to the one as shown below.. |A|B|C||D|E |F|G|H||I|J |K|L|M||N|O |P|Q|R||S|T As shown above, the column 4 is currently blank and i need to insert sequence... (5 Replies)
Discussion started by: nithins007
5 Replies

5. Shell Programming and Scripting

how to Insert values in multiple lines(records) within a pipe delimited text file in specific cols

this is Korn shell unix. The scenario is I have a pipe delimited text file which needs to be customized. say for example,I have a pipe delimited text file with 15 columns(| delimited) and 200 rows. currently the 11th and 12th column has null values for all the records(there are other null columns... (4 Replies)
Discussion started by: vasan2815
4 Replies

6. Shell Programming and Scripting

insert dummy values in a file

Hey guys, i have a file a.txt and i need to insert a dummy data into it as per the below pattern.. bash: cat a.txt 1234,34 3434,45 4545,56 3434,56 Now i need the file in the below pattern 1234,34,a0001,C_01 3434,45,a0002,C_02 4545,56,a0003,C_03 3434,56,a0004,C_04 here the count of... (3 Replies)
Discussion started by: jaituteja
3 Replies

7. Shell Programming and Scripting

Find for line with not null values at nth place in pipe delimited file

Hi, I am trying to find the lines in a pipe delimited file where 11th column has not null values. Any help is appreciated. Need help asap please. thanks in advance. (3 Replies)
Discussion started by: manikms
3 Replies

8. Shell Programming and Scripting

Insert empty columns inside a pipe delimited file

Hi All , I have pipe delimiter file with 11 columns . I need to insert 4 empty columns after column 10 . and After 11 column I need to insert a column which is having the same value for all the rows . My file 1|2|3|4|5|6|7|8|9|10|11 New file ... (11 Replies)
Discussion started by: Hypesslearner
11 Replies

9. Shell Programming and Scripting

Insert values into a file 0 as per the date wise

Hi The file contains 12 months of date and less than 12 months of data I want to display if date filed less than 12 months of data I want to insert a value amount 1 to amount4 0 and dates as well. 12345|Date|cntry|amount1|amount2|amount3|amoun4... (2 Replies)
Discussion started by: jagu
2 Replies

10. Shell Programming and Scripting

awk to print line is values between two fields in separate file

I am trying to use awk to find all the $3 values in file2 that are between $2 and $3 in file1. If a value in $3 of file2 is between the file1 fields then it is printed along with the $6 value in file1. Both file1 and file2 are tab-delimited as well as the desired output. If there is nothing to... (4 Replies)
Discussion started by: cmccabe
4 Replies
pack(1)                                                            User Commands                                                           pack(1)

NAME
pack, pcat, unpack - compress and expand files SYNOPSIS
pack [-f] [-] file... pcat file... unpack file... DESCRIPTION
pack The pack command attempts to store the specified files in a compressed form. Wherever possible (and useful), each input file file is replaced by a packed file file.z with the same access modes, access and modified dates, and owner as those of file. If pack is successful, file will be removed. The amount of compression obtained depends on the size of the input file and the character frequency distribution. Because a decoding tree forms the first part of each .z file, it is usually not worthwhile to pack files smaller than three blocks, unless the character frequency distribution is very skewed, which may occur with printer plots or pictures. Typically, text files are reduced to 60-75% of their original size. Load modules, which use a larger character set and have a more uniform distribution of characters, show little compression, the packed versions being about 90% of the original size. pack returns a value that is the number of files that it failed to compress. No packing will occur if: o the file appears to be already packed o the file name has more than 14 - 2 bytes o the file has links o the file is a directory o the file cannot be opened o the file is empty o no disk storage blocks will be saved by packing o a file called file.z already exists o the .z file cannot be created o an I/O error occurred during processing. The last segment of the file name must contain no more than 14 - 2 bytes to allow space for the appended .z extension. Directories cannot be compressed. pcat The pcat command does for packed files what cat(1) does for ordinary files, except that pcat cannot be used as a filter. The specified files are unpacked and written to the standard output. pcat returns the number of files it was unable to unpack. Failure may occur if: o the file cannot be opened; o the file does not appear to be the output of pack. unpack The unpack command expands files created by pack. For each file specified in the command, a search is made for a file called file.z (or just file, if file ends in .z). If this file appears to be a packed file, it is replaced by its expanded version. The new file has the .z suffix stripped from its name, and has the same access modes, access and modification dates, and owner as those of the packed file. unpack returns a value that is the number of files it was unable to unpack. Failure may occur for the same reasons that it may in pcat, as well as for the following: o a file with the ``unpacked'' name already exists; o the unpacked file cannot be created. o the filename (excluding the .z extension) has more than 14 bytes. OPTIONS
The following options are supported by pack: -f Forces packing of file. This is useful for causing an entire directory to be packed even if some of the files will not benefit. Packed files can be restored to their original form using unpack or pcat. OPERANDS
The following operands are supported: file A path name of a file to be packed, unpacked, or pcated; file can include or omit the .z suffix. - pack uses Huffman (minimum redundancy) codes on a byte-by-byte basis. If the - argument is used, an internal flag is set that causes the number of times each byte is used, its relative frequency, and the code for the byte to be printed on the standard output. Additional occurrences of - in place of file will cause the internal flag to be set and reset. USAGE
See largefile(5) for the description of the behavior of pack, pcat, and unpack when encountering files greater than or equal to 2 Gbyte ( 2 **31 bytes). EXAMPLES
Example 1: Viewing a Packed File To view a packed file named file.z use: example% pcat file.z or just: example% pcat file Example 2: Making and Unpacked Copy: To make an unpacked copy, say nnn, of a packed file named file.z (without destroying file.z) use the command: example% pcat file >nnn ENVIRONMENT VARIABLES
See environ(5) for descriptions of the following environment variables that affect the execution of pack, pcat, and unpack: LC_CTYPE, LC_MESSAGES, and NLSPATH. EXIT STATUS
The following exit values are returned: 0 Successful completion. >0 An error occurred. The number of files the command failed to pack/unpack is returned. ATTRIBUTES
See attributes(5) for descriptions of the following attributes: +-----------------------------+-----------------------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +-----------------------------+-----------------------------+ |Availability |SUNWesu | +-----------------------------+-----------------------------+ |CSI |Enabled | +-----------------------------+-----------------------------+ SEE ALSO
cat(1), compress(1), zcat(1), attributes(5), environ(5), largefile( 5) SunOS 5.10 20 Dec 1996 pack(1)
All times are GMT -4. The time now is 06:14 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy