Insert data in first column(if blank) from previous line first column


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Insert data in first column(if blank) from previous line first column
# 1  
Old 06-04-2014
Insert data in first column(if blank) from previous line first column

Dear Team

I need to insert field(which is need to taken from previous line's first field) in first column if its blank. I had tried using sed but not find the way. Detail input and output file as below.

Kindly help for same.

INPUT:
Code:
SCGR  SC  DEV            DEV1           NUMDEV  DCP  STATE
 488  0   RTPGD-3456     RBLT2-5665     31        1  WO
      1   RTPGD-3616     RBLT2-2849     31      287  WO

SCGR  SC  DEV            DEV1           NUMDEV  DCP  STATE
 490  0   RTPGD-672      RBLT2-5729     31        1  WO

SCGR  SC  DEV            DEV1           NUMDEV  DCP  STATE
 491  0   RTPGD-16544    RBLT2-5761     25        1  WO
      2   RTPGD-16576    RBLT2-7233     25      287  WO

SCGR  SC  DEV            DEV1           NUMDEV  DCP  STATE
 492  0   RTPGD-18624    RBLT2-5793     31        1  WO


OUTPUT REQUIRED:

Code:
SCGR  SC  DEV            DEV1           NUMDEV  DCP  STATE
 488  0   RTPGD-3456     RBLT2-5665     31        1  WO
 488  1   RTPGD-3616     RBLT2-2849     31      287  WO

SCGR  SC  DEV            DEV1           NUMDEV  DCP  STATE
 490  0   RTPGD-672      RBLT2-5729     31        1  WO

SCGR  SC  DEV            DEV1           NUMDEV  DCP  STATE
 491  0   RTPGD-16544    RBLT2-5761     25        1  WO
 491  2   RTPGD-16576    RBLT2-7233     25      287  WO

SCGR  SC  DEV            DEV1           NUMDEV  DCP  STATE
 492  0   RTPGD-18624    RBLT2-5793     31        1  WO


Regards
Jaydeep Sadaria
# 2  
Old 06-04-2014
Bit messy but works for your input:

Code:
awk 'NF==6{gsub(/^ +/," "b"  ")};{b=$1}1' filename


Last edited by pilnet101; 06-04-2014 at 10:32 AM.. Reason: Code tags
# 3  
Old 06-04-2014
Insert data in first column(if blank) from previous line fisrt column

Hi

gsub is not working in mine system. Kindly help.


Code:
 awk 'NF==6{sub(/^ +/," "b" ")};{b=$1}1' op.txt
awk: syntax error near line 1
awk: illegal statement near line 1
awk: syntax error near line 1
awk: bailing out near line 1

Regards
Jaydeep
# 4  
Old 06-04-2014
Are you on Solaris?

Can you change awk to nawk?

EDIT: And please copy the command once more, I updated it with an extra space so the formatting is correct.
This User Gave Thanks to pilnet101 For This Post:
# 5  
Old 06-04-2014
Insert data in first column(if blank) from previous line fisrt column

Its working with nawk.
Thanks.

Regards
Jaydeep

---------- Post updated at 07:34 PM ---------- Previous update was at 07:17 PM ----------

Hi

I had one more same file in which I need to insert same in multiple line. Can u plz suggest me for same? ip/op is mention below.

INPUT:

Code:
SDIP     SNT          MS    CLREF  HP     LP       K  L  M  DIP
12ETM2   ETM2-12      MS-0         VC4-0  VC12-0   1  1  1  669RBL2
                        MS-1                VC12-1   2  1  1  670RBL2
                                          VC12-2   3  1  1  671RBL2
                                          VC12-3   1  2  1  672RBL2
                                          VC12-4   2  2  1  673RBL2

SDIP     SDIPOWNER
12ETM2   SDIPM2                                                  

SDIP     SNT          MS    CLREF  HP     LP       K  L  M  DIP
13ETM2   ETM2-12      MS-0         VC4-0  VC12-0   1  1  1  69RBL2
                      MS-1                VC12-1   2  1  1  60RBL2
                                          VC12-2   3  1  1  61RBL2
                                          VC12-3   1  2  1  62RBL2
                                          VC12-4   2  2  1  63RBL2

SDIP     SDIPOWNER
13ETM2   SDIPM2



OUTPUT:

Code:
SDIP     SNT          MS    CLREF  HP     LP       K  L  M  DIP
12ETM2   ETM2-12      MS-0         VC4-0  VC12-0   1  1  1  669RBL2
12ETM2                MS-1                VC12-1   2  1  1  670RBL2
12ETM2                                    VC12-2   3  1  1  671RBL2
12ETM2                                    VC12-3   1  2  1  672RBL2
12ETM2                                    VC12-4   2  2  1  673RBL2

SDIP     SDIPOWNER
12ETM2   SDIPM2                                                  

SDIP     SNT          MS    CLREF  HP     LP       K  L  M  DIP
13ETM2   ETM2-12      MS-0         VC4-0  VC12-0   1  1  1  69RBL2
13ETM2                MS-1                VC12-1   2  1  1  60RBL2
13ETM2                                    VC12-2   3  1  1  61RBL2
13ETM2                                    VC12-3   1  2  1  62RBL2
13ETM2                                    VC12-4   2  2  1  63RBL2

SDIP     SDIPOWNER
13ETM2   SDIPM2

Regards
Jaydeep Sadaria
# 6  
Old 06-04-2014
Code:
$ awk 'NF!=9 && NF && !/SDIP/{$0=p FS $0}NF==9{p=$1}1' file

This User Gave Thanks to Akshay Hegde For This Post:
# 7  
Old 06-06-2014
Quote:
Originally Posted by Akshay Hegde
Code:
$ awk 'NF!=9 && NF && !/SDIP/{$0=p FS $0}NF==9{p=$1}1' file

p

Thanks Akshay...u had always been a helping hand......
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

How to insert data into black column( Secound Column ) in excel (.XLSX) file using shell script?

Source Code of the original script is down below please run the script and try to solve this problem this is my data and I want it column wise 2019-03-20 13:00:00:000 2019-03-20 15:00:00:000 1 Operating System LAB 0 1 1 1 1 1 1 1 1 1 0 1 (5 Replies)
Discussion started by: Shubham1182
5 Replies

2. Shell Programming and Scripting

Split column when value in column is blank in any row

Hi Experts, In short : Need to split file when field in column 5 is blank and need to generate two file in which column 5 is blank and other in which column 5 has values along with other rows and column data My issue is i am not able to get header for column from raw file into new file which... (1 Reply)
Discussion started by: as7951
1 Replies

3. Shell Programming and Scripting

Fill data in column with previous value

Gents, Kindly help me. I have a file with empty values in selected column, I will like to fill the empty values with the previous value. Example Input file X 4959 30010 66727.00 20457.001 1 1441 66512.00 20234.00 20520.001 X 4959 30010 66727.00 20457.001 145 ... (7 Replies)
Discussion started by: jiam912
7 Replies

4. Shell Programming and Scripting

Add a character C in a column if that column is blank

I have some files that look as follows. I need to add a character 'C' in the fifth column if that column is blank. I prefer in-place editing. 1 1 B M 0 0 203 0, 0.0 0, 0.0 0, 0.0 0, 0.0 0.000 360.0 360.0 360.0 141.9 15.4 28.8 66.1 2 2 B A ... (21 Replies)
Discussion started by: thejitha
21 Replies

5. Shell Programming and Scripting

Compare 2 files and match column data and align data from 3 column

Hello experts, Please help me in achieving this in an easier way possible. I have 2 csv files with following data: File1 08/23/2012 12:35:47,JOB_5330 08/23/2012 12:35:47,JOB_5330 08/23/2012 12:36:09,JOB_5340 08/23/2012 12:36:14,JOB_5340 08/23/2012 12:36:22,JOB_5350 08/23/2012... (5 Replies)
Discussion started by: asnandhakumar
5 Replies

6. Shell Programming and Scripting

Read column values from previous and next line using awk

Hi, I have a csv file which contains data that looks something like this: Key1 Key2 Key3 New_Key1 New_Key2 New_Key3 102 30 0 - - - 102 40 1 30 40 50 102 50 2 40 50 ... (4 Replies)
Discussion started by: Nishi_Licious
4 Replies

7. Shell Programming and Scripting

Insert and shifting data at column

Hi all, i have data like this joe : 1 :a bob : 2 :b sue : 3 :c foo : 4 :d at column 2 i want to insert TOP to the top column and at column 3 i want to insert BOTTOM to the bottom column. and the result will... (12 Replies)
Discussion started by: psychop13
12 Replies

8. Shell Programming and Scripting

Can sed be used to insert data at specific column?

I'm trying to use sed to insert data at a specific column, let's say my data looks like this: 0553 1828 0552 1829 0550 1829 0549 1830 0548 1831 what I want is this: timein 0553 timeout 1828 timein 0552 timeout 1829 timein 0550 timeout 1829 timein 0549 timeout 1830 timein 0548... (5 Replies)
Discussion started by: mswartz
5 Replies

9. Shell Programming and Scripting

Insert new line based on numerical number of column

My input file: Class Number Position Range 1 Initial 50 1 Initial 50 2 Terminal 150 2 Terminal 20 2 Single 10 3 Single 20 4 Double 50 5 Initial 50 5 Initial 60 Class Number... (11 Replies)
Discussion started by: patrick87
11 Replies

10. Shell Programming and Scripting

Insert first line of a file to first column of remaining files

I want to extraxt data from a html table the html file is downloaded from UG / PG Univ - Exam.Results April/May 2008 After processing the html file using sed i got the output like this 11305106082,RANJANI R, CS1251,20,69,P CS1302,20,45,P EC1006,20,52,P EC1351,20,53,P... (5 Replies)
Discussion started by: a_artha
5 Replies
Login or Register to Ask a Question

Featured Tech Videos