Sponsored Content
Top Forums Shell Programming and Scripting Rearrange fields of delimited text file Post 303003109 by Corona688 on Thursday 7th of September 2017 01:50:07 PM
Old 09-07-2017
In that case:

Code:
awk '
function rbefore(STR)   { return(substr(STR, 0, RSTART-1)); }# before match
function rall(STR)      { return(substr(STR, RSTART, RLENGTH)); }# Entire match
function rafter(STR)    { return(substr(STR, RSTART+RLENGTH)); }# after

# First line:  Reformat headers for sorting and find new order
NR==1 {
    for(N=1; N<=NF; N++)
    {
        IN=$N
        OUT=""

        # Convert a_3 to a_00000003 so it will sort
        while(match(IN, /[0-9]+/))
        {
                OUT=OUT rbefore(IN) sprintf("%08d", rall(IN));
                IN=rafter(IN);
        }

        OUT=OUT IN;
        A[OUT]=N # Creating an array of A["string_0001"]=N
    }

    C=asorti(A, B); # Sort it into B[1]="string_0001", B[2]="string_0003" etc
    for(X in B) D[X]=A[B[X]]; # D[1]=4, maps in to out column
}

# All lines: Assemble string from column order and print
{
        OUT=""
        for(N=1; N<=C; N++) OUT=OUT OFS $(D[N])
        print substr(OUT,2);
}

' FS=";" OFS=";" inputfile > outputfile

Also for GNU awk.
This User Gave Thanks to Corona688 For This Post:
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Sort the fields in a comma delimited file

Hi, I have a comma delimited file. I want to sort the fields alphabetically and again store them in a comma delimited file. For example, My file looks like this. abc,aaa,xyz,xxx,def pqr,ggg,eee,iii,qqq zyx,lmo,pqr,abc,fff and I want my output to look like this, all fields sorted... (3 Replies)
Discussion started by: swethapatil
3 Replies

2. Shell Programming and Scripting

awk sed cut? to rearrange random number of fields into 3 fields

I'm working on formatting some attendance data to meet a vendors requirements to upload to their system. With some help on the forums here, I have the data close. But they've since changed what they want. The vendor wants me to submit three fields to them. Field 1 is the studentid field,... (4 Replies)
Discussion started by: axo959
4 Replies

3. Shell Programming and Scripting

Large pipe delimited file that I need to add CR/LF every n fields

I have a large flat file with variable length fields that are pipe delimited. The file has no new line or CR/LF characters to indicate a new record. I need to parse the file and after some number of fields, I need to insert a CR/LF to start the next record. Input file ... (2 Replies)
Discussion started by: clintrpeterson
2 Replies

4. Shell Programming and Scripting

Rearrange the text file

Gents, I have a large file and each line of the file contains more than 200 bytes.Please let me a way to have the new line to start when the word "FIT" appears. I was trialling with 'tr' command but i am not sure how to get it based on bytes and so it wasn't working... Current... (3 Replies)
Discussion started by: appu2176
3 Replies

5. UNIX for Advanced & Expert Users

Problem while counting number of fields in TAB delimited file

I'm facing a strange problem, please help me out. Here we go. I want to count number of fields in particular file. filename and delimiter character will be passed through parameter. On command prompt if i type following i get 27 as output (which is correct) cat customer.dat | head -1 | awk... (12 Replies)
Discussion started by: vikanna
12 Replies

6. Shell Programming and Scripting

Print records which do not have expected number of fields in a comma delimited file

Hi, I have a comma (,) delimited file, in which few fields are enclosed with in double quotes " ". I have to print the records in the file which donot have expected number of field with the line number. File1 ==== name,desgnation,doj,project #header#... (7 Replies)
Discussion started by: machomaddy
7 Replies

7. Shell Programming and Scripting

Split a free form text delimited by space to words with other fields

Hi, I need your help for below with shell scripting or perl I/P key, Sentence customer1, I am David customer2, I am Taylor O/P Key, Words Customer1,I Customer1,am Customer1,David Customer2,I Customer2,am Customer2,Taylor (4 Replies)
Discussion started by: monishathampi
4 Replies

8. Shell Programming and Scripting

Using awk to rearrange fields

Hi, I am required to arrange columns of a file i.e make the 15th column into the 1st column. I am doing awk 'begin {fs=ofs=","} {print $15,$1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12,$13,$14}' ad.data>ad.csv the problem is that column 15 gets to column 1 but it is not comma separated with the... (10 Replies)
Discussion started by: seddoubt
10 Replies

9. UNIX for Dummies Questions & Answers

Need to convert a pipe delimited text file to tab delimited

Hi, I have a rquirement in unix as below . I have a text file with me seperated by | symbol and i need to generate a excel file through unix commands/script so that each value will go to each column. ex: Input Text file: 1|A|apple 2|B|bottle excel file to be generated as output as... (9 Replies)
Discussion started by: raja kakitapall
9 Replies

10. Shell Programming and Scripting

Pattern Match and Rearrange the Fields in UNIX

For an Output like below Input : <Subject A="I" B="1039502" C="2015-06-30" D="010101010101"> Output : <Subject D="010101010101" B="1039502" C="2015-06-30" A="I"> I have been using something like below but not getting the desired output : awk -F ' ' '/Subject/ BEGIN{OFS=" ";}... (19 Replies)
Discussion started by: arunkesi
19 Replies
SUMO(1) 							   User Commands							   SUMO(1)

NAME
SUMO - Router for the microscopic road traffic simulation SUMO based on junction turning ratios SYNOPSIS
jtrrouter [OPTION]* DESCRIPTION
SUMO jtrrouter Version 0.15.0 Copyright (C) 2001-2012 DLR and contributors; http://sumo.sourceforge.net Router for the microscopic road traffic simulation SUMO based on junction turning ratios. Configuration Options: -c, --configuration-file FILE Loads the named config on startup --save-configuration FILE Saves current configuration into FILE --save-template FILE Saves a configuration template (empty) into FILE --save-schema FILE Saves the configuration schema into FILE --save-commented Adds comments to saved template, configuration, or schema Input Options: -n, --net-file FILE Use FILE as SUMO-network to route on -d, --taz-files FILE Read (additional) districts from FILE -a, --alternative-files FILE Read alternatives from FILE -f, --flow-files FILE Read flow-definitions from FILE(s) -t, --turn-ratio-files FILE Read turning ratios from FILE(s) Output Options: -o, --output-file FILE Write generated routes to FILE --vtype-output FILE Write used vehicle types into separate FILE --exit-times Write exit times (weights) for each edge Processing Options: --ignore-errors Continue if a route could not be build --unsorted-input Assume input is unsorted --randomize-flows generate random departure times for flow input --max-alternatives INT Prune the number of alternatives to INT --remove-loops Remove loops within the route; Remove turnarounds at start and end of the route --repair Tries to correct a false route --weights.interpolate Interpolate edge weights at interval boundaries --with-taz Use origin and destination zones (districts) for in- and output --max-edges-factor FLOAT -T, --turn-defaults STR Use STR as default turn definition -s, --sink-edges STR Use STR as list of sink edges -A, --accept-all-destinations Whether all edges are allowed as sink edges -i, --ignore-vclasses Ignore road restrictions based on vehicle class --allow-loops Allow to re-use a road Defaults Options: --departlane STR Assigns a default depart lane --departpos STR Assigns a default depart position --departspeed STR Assigns a default depart speed --arrivallane STR Assigns a default arrival lane --arrivalpos STR Assigns a default arrival position --arrivalspeed STR Assigns a default arrival speed --defaults-override Defaults will override given values Time Options: -b, --begin TIME Defines the begin time; Previous trips will be discarded -e, --end TIME Defines the end time; Later trips will be discarded; Defaults to the maximum time that SUMO can represent Report Options: -v, --verbose Switches to verbose output -p, --print-options Prints option values before processing -?, --help Prints this screen -V, --version Prints the current version -W, --no-warnings Disables output of warnings -l, --log FILE Writes all messages to FILE (implies verbose) --message-log FILE Writes all non-error messages to FILE (implies verbose) --error-log FILE Writes all warnings and errors to FILE --stats-period INT Defines how often statistics shall be printed --no-step-log Disable console output of route parsing step Random Number Options: --random Initialises the random number generator with the current system time --seed INT Initialises the random number generator with the given value EXAMPLES
jtrrouter -c <CONFIGURATION> run with routing options defined in file REPORTING BUGS
Report bugs at <http://sourceforge.net/apps/trac/sumo/>. Get in contact via <sumo-user@lists.sourceforge.net>. Copyright (C) 2001-2012 DLR and contributors; http://sumo.sourceforge.net SUMO jtrrouter Version 0.15.0 is part of SUMO. SUMO is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/gpl.html SUMO jtrrouter Version 0.15.0 May 2012 SUMO(1)
All times are GMT -4. The time now is 10:55 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy