Shift record from one position to another


 
Thread Tools Search this Thread
Top Forums UNIX for Beginners Questions & Answers Shift record from one position to another
# 1  
Old 03-13-2019
Shift record from one position to another

Hi All,

I have a file and it is a fixed length file. I want to move the values from 42,6 ( where 6 is length) to the 36th position

Code:
Original file:
00000100000100000100000100000100001      000870                                                                  
00001000001000001000001000001000001      000879                                                                                  
09000001000001000001000001000001001      001818                                                             
29000020900000100000100000100000001      001816                                           
29000020900000100000100000100000001      001817
Expected : 
00000100000100000100000100000100001000870                                                                  
00001000001000001000001000001000001000879                                                                                  
09000001000001000001000001000001001001818                                                             
29000020900000100000100000100000001001816                                           
29000020900000100000100000100000001001817

Things I have tried.
I am doing a cut on 42,6 and storing it in temp file then doing cut on 1,36 and the merging the file. Not working

Code:
cut -c1-36 file1
cut c46-52  file2

join file1 file2 > file3 -- not giving right result
Paste -s  file1 file2 -- giving me all result in one line formate
cat file1 file2 --->appending the file at end

Thanks in advance
# 2  
Old 03-13-2019
Try this

Code:
sed 's/      //g' file1 > output.file

--- Post updated at 05:47 AM ---

Try below :-

Code:
sed 's/      //g' file1 > output.file

Code:
tr -d ' ' <file1 > output.file


Moderator's Comments:
Mod Comment Please use CODE tags as required by forum rules!

Last edited by RudiC; 03-13-2019 at 09:38 AM.. Reason: Added CODE tags.
# 3  
Old 03-13-2019
Thanks for the input . I should have been more clear. This sed will convert all blank space to non blank. There is a change that other position can be blank. I need to move these only based on position
# 4  
Old 03-13-2019
cut

Code:
cut -c1-35,42- data.txt

sed
Code:
sed -re 's/(.{35}).{6}/\1/' data.txt

Perl

Code:
perl -pe 's/^(.{35}).{6}/$1/' data.txt

GNU(!) awk

Code:
awk 'match($0,/^(.{35}).{6}(.*)/,res){print res[1] res[2]}' data.txt


Last edited by stomp; 03-13-2019 at 09:43 AM..
These 4 Users Gave Thanks to stomp 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

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

4. Shell Programming and Scripting

Require original field position after sorting the values in a record

Dear Team, Can any body help me out to get the filed position of the records post sorting using AWK programming. Thanks in advance Example Input: StudentID col-1 col-2 col-3 col-4 1234 14 10 12 13 1235 10 11 12 13 1236 13 12 11 10 ... (3 Replies)
Discussion started by: Srinivasa Reddy
3 Replies

5. Shell Programming and Scripting

Search and Replace by record position

Hi All, I have a file that I would like to search for data and replace other data by record position number: Example search.. search for "CLARK KENT" and replace Amt data "000025" with "000155"??? I'm able to search and replace unique data but, came to a stump when wanting to replace data... (11 Replies)
Discussion started by: macastor
11 Replies

6. 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

7. Shell Programming and Scripting

Moving first position in a file to the last position

hi, I have a file which consists of some records: 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|... (11 Replies)
Discussion started by: pparthiv
11 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

Add 'ENDEND' on end of each record at position is 14-20

I have file format like below and I'm trying to modify this file. I need to add 'ENDEND' end of each record. 01 ASH01 1CTCTL EDPPOO STAND 01 ASH08 0020 A1TH 101 01 ASH09 0022 A1TH 102 01 ASH09 0022 A1TH 103 01 ASH02 2CTCTL ... (5 Replies)
Discussion started by: naveenkcl
5 Replies
Login or Register to Ask a Question