Sponsored Content
Top Forums UNIX for Beginners Questions & Answers Splitting the file based on two fields - Fixed length file Post 303035163 by MadeInGermany on Wednesday 15th of May 2019 01:25:37 PM
Old 05-15-2019
With bash builtins:
Code:
#!/bin/bash
outfile="" prefile=""
while IFS= read line
do
  outfile="${line:3:4}_${line:21:6}.txt"
  if [ "$outfile" != "$prefile" ]
  then
    exec >>"$outfile"
    prefile=$outfile
  fi
  echo "$line"
done < filename

It tries to reduce the number of open() calls.
The same is achieved in awk by minimizing the close()
Code:
awk '{ F=substr($0,4,4) "_" substr($0,22,6) ".txt"; print $0 >> F } F!=PF { close(PF); PF=F }' filename

If there are not too many output files, do not close (and re-open) them at all:
Code:
awk '{ F=substr($0,4,4) "_" substr($0,22,6) ".txt"; print $0 > F }' filename

It allows overwriting the files because there is only one open() per file (awk does it automatically at the first write).
These 3 Users Gave Thanks to MadeInGermany For This Post:
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

convert XML file into Text file(fixed length)

If someone out there could help me out with this problem. I would really appreciate it. I am trying to convert xml into text file(fixed length) using Unix Borne shell scripts. My xml file: <root> <header_rec recordtype="00"> <record_id>00</record_id> ... (0 Replies)
Discussion started by: ram2s2001
0 Replies

2. Shell Programming and Scripting

fixed length fields in awk

I am trying to display df -h command out in proper format, how can I display each field of each record in a fixed length. (2 Replies)
Discussion started by: roopla
2 Replies

3. Shell Programming and Scripting

how to convert Fixed length file to delimited file.

I have below fixed lenth file . I have to convert this to delimitted file. File1.txtE116005/29/19930E001E000 E12201/23/19940E001E003 E10406/4/19940E001E003 I want to convert this to : E116,0,05/29/1993,0,E001,E000 E122,0,1/23/1994,0,E001,E003 E104,0,6/4/1994,0,E001,E003 I have a... (7 Replies)
Discussion started by: satyam_sat
7 Replies

4. UNIX for Dummies Questions & Answers

What the command to find out the record length of a fixed length file?

I want to find out the record length of a fixed length file? I forgot the command. Any body know? (9 Replies)
Discussion started by: tranq01
9 Replies

5. UNIX for Dummies Questions & Answers

Convert a tab delimited/variable length file to fixed length file

Hi, all. I need to convert a file tab delimited/variable length file in AIX to a fixed lenght file delimited by spaces. This is the input file: 10200002<tab>US$ COM<tab>16/12/2008<tab>2,3775<tab>2,3783 19300978<tab>EURO<tab>16/12/2008<tab>3,28523<tab>3,28657 And this is the expected... (2 Replies)
Discussion started by: Everton_Silveir
2 Replies

6. Shell Programming and Scripting

converting fixed length file to delimited file

hi , i need to convert fixed length file to delimited file using unix where length of each column is variable (2 Replies)
Discussion started by: Nishithinfy
2 Replies

7. Shell Programming and Scripting

Need awk script to compare 2 fields in fixed length file.

Need a script that manipulates a fixed length file that will compare 2 fields in that file and if they are equal write that line to a new file. i.e. If fields 87-93 = fields 119-125, then write the entire line to a new file. Do this for every line in the file. After we get only the fields... (1 Reply)
Discussion started by: Muga801
1 Replies

8. Shell Programming and Scripting

Fixed length fields

HPUX and posix shell Hi all. I have a record with fixed length fields....I would like to reorder the fields and preserver the fixed lengths.... cat test 4 960025460 Dept of Music 8 960025248 Dept of Music 12-08 cat... (3 Replies)
Discussion started by: lyoncc
3 Replies

9. Shell Programming and Scripting

Splitting fixed length file using awk

Hi, I need to split a fixed length file of 160 characters based on value of a column. Example: ABC 456780001 DGDG SDFSF BCD 444440002 SSSS TTTTT ABC 777750003 HHHH UUUUU THH 888880001 FFFF LLLLLL HHH 999990002 GGGG OOOOO I need to split this file on basis of column from... (7 Replies)
Discussion started by: Neelkanth
7 Replies

10. Shell Programming and Scripting

File splitting according to the length of the fields

Hi All, I have two files: 1> Data file 2> info file which has field lengths and start position. Is there a way to create a comma delimited file according to the fields length and start position. Data file : R-0000017611N-00000350001095ANZU01 A00000017611N000000350001095ANZU02... (11 Replies)
Discussion started by: nua7
11 Replies
PS2EPSI(1)							 Ghostscript Tools							PS2EPSI(1)

NAME
ps2epsi - generate conforming Encapsulated PostScript SYNOPSIS
ps2epsi infile.ps [ outfile.epsi ] (Unix) ps2epsi infile.ps [ outfile.epi ] (DOS) DESCRIPTION
ps2epsi uses gs(1) to process a PostScript(tm) file and generate as output a new file which conforms to Adobe's Encapsulated PostScript Interchange (EPSI) format. EPSI is a special form of encapsulated PostScript (EPS) which adds to the beginning of the file in the form of PostScript comments a bitmapped version of the final displayed page. Programs which understand EPSI (usually word processors or DTP pro- grams) can use this bitmap to give a preview version on screen of the PostScript. The displayed quality is often not very good (e.g., low resolution, no colours), but the final printed version uses the real PostScript, and thus has the normal PostScript quality. USAGE
On Unix systems invoke ps2epsi like this: ps2epsi infile.ps [ outfile.epsi ] where "infile.ps" is the input file and "outfile.epsi" is the resulting EPSI file. If the output filename is omitted, it is generated from the input filename. When a standard extension (".ps", ".cps", ".eps" or ".epsf") is used, it is replaced with the output extension ".epsi". On DOS systems the command is: ps2epsi infile.ps outfile.epi where "infile.ps" is the original PostScript file, and "outfile.epi" is the name of the output file. LIMITATIONS
Not every PostScript file can be encapsulated successfully, because there are restrictions on what PostScript constructs a correct encapsu- lated file may contain. ps2epsi does a little extra work to try to help encapsulation, and it automatically calculates the bounding box required for all encapsulated PostScript files, so most of the time it does a pretty good job. There are certain to be cases, however, where the encapsulation does not work because of the content of the original PostScript file. COMPATIBILITY
The Framemaker DTP system is one application which understands EPSI files, and ps2epsi has been tested on a number of PostScript diagrams from a variety of sources, using Framemaker 3.0 on a Sun workstation. Framemaker on other platforms should be able to use these files, although I have not been able to test this. FILES
ps2epsi Unix shell script ps2epsi.bat DOS batch file ps2epsi.ps the Ghostscript program which does the work SEE ALSO
gs (1) VERSION
This document was last revised for Ghostscript version 9.07. However, the content may be obsolete, or inconsistent with ps2epsi.txt. AUTHOR
George Cameron 9.07 12 February 2013 PS2EPSI(1)
All times are GMT -4. The time now is 10:09 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy