Moving first position in a file to the last position


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Moving first position in a file to the last position
# 1  
Old 06-28-2010
Moving first position in a file to the last position

hi,
I have a file which consists of some records:
Code:
2010_06_4010093_001_001|10|ABCDEFGH|9|4010093||0040400||31.12.2009|S|O|X||||20100602093851-31.12.2009|XXBBFC|EFG||||00001|
2010_06_4010162_001_001|11|ABCDEFGH|9|4010162||0040400||31.12.2009|S|O|X||||20100602093851-31.12.2009|XXBBFC|EFG||||00002|
2010_06_4010163_001_001|17|ABCDEFGH|9|4010163||0040400||31.12.2009|S|O|X||||20100602093851-31.12.2009|XXBBFC|EFG||||00003|


I want to copy the first column (2010_06_4010093_001_001) to the last column on each row so that the file will look like

Code:
10|ABCDEFGH|9|4010093||0040400||31.12.2009|S|O|X||||20100602093851-31.12.2009|XXBBFC|EFG||||00001|2010_06_4010093_001_001|
11|ABCDEFGH|9|4010162||0040400||31.12.2009|S|O|X||||20100602093851-31.12.2009|XXBBFC|EFG||||00002|2010_06_4010162_001_001|
17|ABCDEFGH|9|4010163||0040400||31.12.2009|S|O|X||||20100602093851-31.12.2009|XXBBFC|EFG||||00003|2010_06_4010163_001_001|

Can someone please help me with this.
thanks
PP

Last edited by vgersh99; 06-28-2010 at 11:10 AM.. Reason: code tags, please!
# 2  
Old 06-28-2010
Code:
sed 's/\([^|][^|]*|\)\(.*\)/\2\1/' myFile

These 2 Users Gave Thanks to vgersh99 For This Post:
# 3  
Old 06-28-2010
Quote:
Originally Posted by vgersh99
Code:
sed 's/\([^|][^|]*|\)\(.*\)/\2\1/' myFile

Please explain the regular expression.

Last edited by cola; 06-28-2010 at 11:53 AM..
This User Gave Thanks to cola For This Post:
# 4  
Old 06-28-2010
MySQL Problem resolved

First create a new fich without the head

$ cut -d"|" -f2-25 asdf>fichNew

Sencond create a fich with the firt part what it will the last
$ cut -d"|" -f1 asdf>head

And paste the first part to the end and copy the result to FinalFich
$ paste -d '|' fichNew head>FinalFich

And its works it taste

żmay can you vote me?

thanks
These 2 Users Gave Thanks to jecaestevez For This Post:
# 5  
Old 06-28-2010
MySQL

Thanks a lot. This worked.
This User Gave Thanks to pparthiv For This Post:
# 6  
Old 06-28-2010
using bash:
Code:
cat pparthiv_file
2010_06_4010093_001_001|10|ABCDEFGH|9|4010093||0040400||31.12.2009|S|O|X||||20100602093851-31.12.2009|XXBBFC|EFG||||00001|
2010_06_4010162_001_001|11|ABCDEFGH|9|4010162||0040400||31.12.2009|S|O|X||||20100602093851-31.12.2009|XXBBFC|EFG||||00002|
2010_06_4010163_001_001|17|ABCDEFGH|9|4010163||0040400||31.12.2009|S|O|X||||20100602093851-31.12.2009|XXBBFC|EFG||||00003|

while IFS='|' read -a line; do
   printf '%s|' "${line[@]:1}"
   printf '%s|\n' "${line[@]::1}"
done < pparthiv_file

# 7  
Old 06-28-2010
Code:
 awk -F \| '{for (i=2;i<NF;i++) printf $i"|"} {print $1"|"}'  urfile


Last edited by rdcwayx; 06-29-2010 at 12:37 AM..
This User Gave Thanks to rdcwayx 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

Inserting value at a particular position without changing the position of other characters

Hi All, I wanted a sed/awk command to add a value/character on a particular position without disturbing the position of other characters. I have file a.txt OL 10031 Day Black Midi Good Value P01 P07 OL 10031 Day Black Short Good Value P01 P07 I want to get the output as... (2 Replies)
Discussion started by: rahulsk
2 Replies

2. Shell Programming and Scripting

Search for a string at a particular position and replace with blank based on position

Hi, I have a file with multiple lines(fixed width dat file). I want to search for '02' in the positions 45-46 and if available, in that lines, I need to replace value in position 359 with blank. As I am new to unix, I am not able to figure out how to do this. Can you please help me to achieve... (9 Replies)
Discussion started by: Pradhikshan
9 Replies

3. Shell Programming and Scripting

Identify the First Column Position in Second Column and add the position value

Identify the First Column Position in Second Column and add the position value in 3rd column. Sample data: a|c b|d c|a d|b e|e f|g g|f |h |i Expected Output: a|c|1 b|d|2 c|a|3 d|b|4 (6 Replies)
Discussion started by: BrahmaNaiduA
6 Replies

4. Shell Programming and Scripting

Need command or script to print all lines from 2nd position to last but one position

hi guys, i want command or script to display the content of file from 2nd position to last but one position of a file abcdefghdasdasdsd 123,345,678,345,323 434,656,656,656,656 678,878,878,989,545 4565656667,65656 i want to display the same above file without first and... (2 Replies)
Discussion started by: hemanthsaikumar
2 Replies

5. Shell Programming and Scripting

Remove text from n position to n position sed/awk

I want to remove text from nth position to nth position couple of times in same line my line is "hello is there anyone can help me with this question" I need like this ello is there anyone can help me with question 'h' is removed and 'this' removed from the line. I want to do this... (5 Replies)
Discussion started by: elamurugu
5 Replies

6. Shell Programming and Scripting

ksh - moving cursor position

hi all, am trying to modify a ksh script to group server names together depending on the cluster they sit in. currently the script does a find . -name '*.pid' to find all running servers and prints out their pids and names. current output looks something like this : serverA ... (1 Reply)
Discussion started by: cesarNZ
1 Replies

7. Shell Programming and Scripting

Replacing a position in a file

Hi I'm trying to use awk in a file(test123.dat). My requirement is to to check for the 65th position, if the 65th position is a space then replace the 65th position by the number 9. This is the code that i used: awk '{substr($0,65,1) ~ / / }{sub(substr($0,65,1),"9")}{print}' test123.dat ... (7 Replies)
Discussion started by: angelarosh
7 Replies

8. UNIX for Dummies Questions & Answers

find if a position is between a given start and end position

Hi, I am a newbie in unix programming so maybe this is a simple question. I would like to know how can I make a script that outputs only the values that are not between any given start and end positions Example file1: 2 30 40 80 82 100 file2: ID1 1 ID2 35 ID3 80 ID4 81 ID6... (9 Replies)
Discussion started by: fadista
9 Replies

9. Shell Programming and Scripting

how to find a position and print some string in the next and same position

I need a script for... how to find a position of column data and print some string in the next line and same position position should find based on *HEADER8* in text for ex: ord123 abs 123 987HEADER89 test234 ord124 abc 124 987HEADER88 test235 ... (1 Reply)
Discussion started by: naveenkcl
1 Replies

10. Shell Programming and Scripting

How to get the position of a file

hi ' $ ls -ltr total 72 -rwxr-xr-x 1 staff 89 Jan 5 2008 STG_FCT__TYPE.dat -rwxrwxrwx 1 staff 28 Jan 5 2008 STG_FCT_LINE_SUMMARY.dat -rwxrwxrwx 1 staff 377 Jan 5 2008 STG_FCT_dd.dat -rwxrwxrwx 1 staff 7328 Jan 5 2008 ... (3 Replies)
Discussion started by: ravi214u
3 Replies
Login or Register to Ask a Question