Reorder the Cut characters


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Reorder the Cut characters
# 1  
Old 04-10-2012
Reorder the Cut characters

Hi,
I have a fixed width flatfile, I want to view this file specific to it's character position and in order I want to...example as below

Code:
ABCDE.txt

01COLTSMANNING18
02PATS BRADY   12
03PACKSROGERS  12

I used unix cut command to see specific field based on length but unable to order them as I need:


I want to view the data as below
Code:
COLTS|18|MANNING
PATS   |12|BRADY   
PACKS|12|ROGERS

How can I view data as above from fixed width flatfile.


ow can I ach

Last edited by methyl; 04-10-2012 at 09:39 PM.. Reason: please use code tags
# 2  
Old 04-10-2012
Please post what Operating System and version you are using and what Shell you use.

Please post the code you tried and what happened.
# 3  
Old 04-10-2012
Hi our environment is Red hat linux 5.0 And the command I tried is

Code:
cut -c5-9,1-4,10-13 filename

Thought I cut in the 5-9, 1-4, 10-13 order the data is shown in 1-4, 5-9, 10-13 order.

Last edited by methyl; 04-10-2012 at 09:53 PM.. Reason: code tags
# 4  
Old 04-10-2012
Wish I'd never started on this one!

If you amend the input data to be properly aligned:

Code:
01COLTSMANNING18
02PATS BRADY  12
03PACKSROGERS 12

Then you can use fixed-position cut on the records as follows:

Code:
cat abc11.txt|while read line
do
        field1=`echo "${line}"|cut -c3-7`
        field2=`echo "${line}"|cut -c15-16`
        field3=`echo "${line}"|cut -c8-14`
        echo "${field1}|${field2}|${field3}"
done

With output:
Code:
COLTS|18|MANNING
PATS |12|BRADY  
PACKS|12|ROGERS


(I know that my code contains a cat command for the benefit of any trolls).

Anyway, I am English and know nothing about American Football.

Last edited by methyl; 04-10-2012 at 10:21 PM.. Reason: grammar
# 5  
Old 04-11-2012
Thank you Very Much...sorry to bother you....will take care of the indentation and etc...
# 6  
Old 04-11-2012
Only because I'm bored, and Methyl said something about ruing having started in on this...

Assuming alignment is fixed, it could be done with sed as a one-liner:

Code:
sed -r 's/(..)(.....)(.......)(..)/\2|\4|\3/'  input-file

Use -E instead of -r if your version of sed is BSD based.
This User Gave Thanks to agama For This Post:
# 7  
Old 04-11-2012
bash/ks93
Code:
while IFS= read -r line; do 
  printf "%s\n" "${line:2:5}|${line:14:2}|${line:7:7}"
done < infile

This User Gave Thanks to Scrutinizer For This Post:
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Cut a string for last 8 characters

Hello All I have a file like this abc.tpt.ctl bdc.tpt.ctl cdw.tpt.ctl I have looped every line using the for Loop, now I want to take each line and cut the .tpt.ctl part of it and store it in a variable and use the variable in same loop. The part I am stuck at is how do I cut the last... (9 Replies)
Discussion started by: nnani
9 Replies

2. Shell Programming and Scripting

sed cut characters of string

helloo I wonder if there's a way to cut characters out of a string and keep only the last 2 by using sed. For example if there's the todays' date: 2012-05-06 and we only want to keep the last 2 characters which are the day. Is there a quick way to do it with sed? (2 Replies)
Discussion started by: vlm
2 Replies

3. Shell Programming and Scripting

cut add characters

i have following fixed width text(also has a delimiter) id;name;age;comments1;comments2;title;date to get output as id;name;age;;;title;date (remove comments but keep the delimiter in between) i use cut -c1-12,22,32- suppose if i want to insert another ; somewhere like ... (3 Replies)
Discussion started by: petergemeni
3 Replies

4. Shell Programming and Scripting

cut certain characters for each line in a file

Hi Everyone, i have a file 1.txt <a><a"" dd>aaaaauweopriuew</f><">!(^)!</aa></ff> <a><a"" dd>bbbbbuweopriuew</f><">!(^*)!</aa></ff> i know i can use perl -p -i -e "s/>aaaaa/aa/g" 1.txt perl -p -i -e "s/>bbbbb/bb/g" 1.txt to acheive only keep the first two characters of the five characters,... (4 Replies)
Discussion started by: jimmy_y
4 Replies

5. Shell Programming and Scripting

Cut last 13 characters and take the rest of the file name

Hi, I would like to cut last 13 characters of a file name and take the rename the file name as follows: Input: A.DAT20110517033732 Output: A.DAT I have tried the following command and cut last 13 characters. echo A.DAT20110517033732 | awk '{print substr($0, length($0)-13)}' ... (3 Replies)
Discussion started by: pyaranoid
3 Replies

6. Shell Programming and Scripting

Cut last 7 characters of a variable

I need to cut the last seven characters of a variable length variable. The variable may be 7 characters or 70. I need to always be able to grab the last 7 characters. I looked at the cut command but it always seems to want to start at the beginning of a line, not the end and count backwards. ... (5 Replies)
Discussion started by: kblawson14
5 Replies

7. Shell Programming and Scripting

Cut the last 15 characters off

Hi Gurus, I am trying to execute the below command. However the output shows the value + path of the folder where the command is being executed. But I am only interested in the value but not the path. du -hs /aps/inf/SeLogs when I execute the above command, output is 32G... (5 Replies)
Discussion started by: svajhala
5 Replies

8. Shell Programming and Scripting

Need to cut first 21 and 32-25 characters from file

Guys, can you help me in doing cut first 21 and 32-35 characters from file. I tried with cut -c to cut first 21 characters ,It is succeeded. But i need both first 21 and 32-35. (1 Reply)
Discussion started by: mohan_xunil
1 Replies

9. Shell Programming and Scripting

cut between characters of a file

Hi All, Need to convert file names to upper case using tr command in Unix. In a folder -> /apps/dd01/misc there are two files like: pi-abcd567sd.pdf pi-efgh1.pdf The output of should be like: pi-ABCD567SD.pdf pi-EFGH1.pdf I have used the command to work as below: for f... (3 Replies)
Discussion started by: a1_win
3 Replies

10. UNIX for Dummies Questions & Answers

cut first 4 characters from a line

Please let me know how to cut first four characters from a line in UNIX after grepping the file.. (5 Replies)
Discussion started by: kaushikraman
5 Replies
Login or Register to Ask a Question