Adding field to file


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Adding field to file
# 1  
Old 04-05-2016
Code Adding field to file

Hi I have file as given below
Code:
040|14300|40.0|563000
042|13200000|40.0
041|100|40.0
043|10000|40.0
045|102|40.0

I want to check
if field 4 is null then I have to place | in position 4.

result set should be

Code:
040|14300|40.0|563000
042|13200000|40.0|
041|100|40.0|
043|10000|40.0|
045|102|40.0|

# 2  
Old 04-05-2016
Any attempts/ideas/thoughts from your side?

However. try
Code:
awk '{NF = 4}1' FS="|" OFS="|" file
040|14300|40.0|563000
042|13200000|40.0|
041|100|40.0|
043|10000|40.0|
045|102|40.0|


Last edited by RudiC; 04-05-2016 at 08:02 AM..
This User Gave Thanks to RudiC For This Post:
# 3  
Old 04-05-2016
I want to write in same file ?
# 4  
Old 04-05-2016
Above will not necessarily work with ALL awk versions. Try
Code:
awk 'NF < 4{$4 = ""}1' FS="|" OFS="|" file

instead.
# 5  
Old 04-05-2016
To overwrite the input file, redirect the output to a temp file, and then, if successful, mv temp back to the original file.
This User Gave Thanks to RudiC For This Post:
# 6  
Old 04-05-2016
yes, it working . iam getting | in 4th position ,if field 4 is null.

I want overwrite in same file? by using sed command?
# 7  
Old 04-05-2016
try:
Code:
ex infile << EDIT
$( awk 'NF<4 {o=$0; NF=4; print NR; print "s/" o "/" $0 "/"}' FS="|" OFS="|" infile)
w!
EDIT


Last edited by rdrtx1; 04-05-2016 at 05:55 PM..
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Field extract w/o - and adding formats

I have a txt file like below: Accession Orderable Unique ID Subject ID Timepoint Colletion Date/Time 12-170-0185 Glucose 1756487 1 D-07_H00.03 18-JUN-2012 06:03:00 12-170-0185 Insulin 1756487 1 D-07_H00.03 18-JUN-2012 06:03:00 12-170-0200 Glucose 1756487 1 D-07_H00.05... (9 Replies)
Discussion started by: Daniel Gate
9 Replies

2. Shell Programming and Scripting

Adding an additional blank field to a file

Hi, I have the following file, I'd like to add an additional blank field to this file This is a tab delimited file, I have tried the same thing on excel, but looking for a unix solution. Here is my input: Country Postal Admin4 StreetBaseName StreetType HUN 2243 Kóka Dózsa György ... (3 Replies)
Discussion started by: ramky79
3 Replies

3. Shell Programming and Scripting

Adding matching field

I have a flat file test.log red,5,,,,, green,7,,,,, blue,4,,,,, red,8,,,,, green,9,,,,, How i get a a result: blue,4,,,,, green,16,,,,, red,13,,,,, Thanks Video tutorial on how to use code tags in The UNIX and Linux Forums. (2 Replies)
Discussion started by: sabercats
2 Replies

4. Shell Programming and Scripting

Adding a field to a file using a conversion table

Hello everyone, Here is what i am trying to accomplish. I have a transaction log that I want to to add a field. The fields in the transaction log are tab delimited FYI. My goal is to add a column specifying the category/type to each item purchased. I have created a two column "conversion table"... (2 Replies)
Discussion started by: SpencerClark
2 Replies

5. Shell Programming and Scripting

Adding total of first field for each number in the second field

Dears, I need a script or command which can find the unique number from the second filed and against that number it adds the total of first field . 17215630 , 0 907043 ,1 201050 ,10 394149 ,4 1964 ,9 17215630, 0 907043 ,1 201050, 10 394149 ,4 1964 ,9 1234234, 55 23 ,100 33 ,67 ... (2 Replies)
Discussion started by: shary
2 Replies

6. Shell Programming and Scripting

Adding new field

Hello, I have a main file with IP addresses like this: Erisim var,100,172.17.241.5,4006,60,IS0799,TCP/IP Erisim var,1003,172.17.140.4,4004,60,IS2156,TCP/IP Erisim var,1004,172.17.140.5,4002,60,IS2636,TCP/IP Erisim var,1005,172.17.140.5,4004,60,IS2436,TCP/IP Erisim... (8 Replies)
Discussion started by: Spunkerspawn
8 Replies

7. Shell Programming and Scripting

adding field values if field matches

hi i have file as below , i want to add duplicate records like bell_bb to one record with valuve as 15 ( addition of both ) any oneline awk script to achive this ? header 0 CAMPAIGN_NAME 1 Bell_BB 14 Bell_MONTHLY 803 SOLO_UNBEATABLE 644 Bell_BB 1 Bell_MONTHLY 25 SOLO_UNBEATABLE... (4 Replies)
Discussion started by: raghavendra.cse
4 Replies

8. Shell Programming and Scripting

Adding field to file and moving the last 2 fields

I have a file with 32 fields each separated by ‘|”. I need to add a file date exactly in the format “ "20100120" “ as the 32nd field moving the existing 32nd field to 33. so the field I added should be 32nd and the 33rd field is the last field before I added the file date. I know we can... (8 Replies)
Discussion started by: dsravan
8 Replies

9. Shell Programming and Scripting

Problem adding into an array field!!!

Hi, Kindly assist by analyzing the code below and suggest changes to achieve the required output. The input file: 01-010241800000 35000 MV010 02/03/09 0306 03060226 03 02-004103300000 470000 MV010 02/03/09 0301 03010276 03 The objective is to convert field No4. from dd/mm/yy to yyyymmdd... (5 Replies)
Discussion started by: talk2pawee
5 Replies

10. UNIX for Dummies Questions & Answers

Adding a new field using sed or awk?

I have a bcp file that contains 10 fields. These fields are separated by a tab. How can I add my name as a new field in the 8th position for every record? I've been playing w/ sed and awk but can't seem to figure this out. (3 Replies)
Discussion started by: sasabune
3 Replies
Login or Register to Ask a Question