"Using awk to change a specific column and in a specific row"

Post #303036422 by Don Cragun on Tuesday 25th of June 2019 08:50:44 PM

Quote:
Originally Posted by juggernautjoee
Thanks for the replies guys!

Don, I'll try a few of those and get back to you. The end goal is a cron job that runs daily that will edit this file to replace that 2nd row 6th field with 2400 no matter what the number was before.

EDIT:
I had to compile a newer version of awk to get the inplace command to work, but I think I've got it.

Code:
/usr/local/bin/awk -i inplace -F, '/^02,193631306,000300032,1,/{$6 = 2400}1' OFS=, /testdir/BALTRN3.*

This will edit that line on all files in the directory. So I can run this every day to update any new files that get dumped in here by my lftp process.

I also needed to edit that 3rd line, 2nd field to something else, so I just tweaked the above command to fit my liking:

Code:
/usr/local/bin/awk -i inplace -F, '/^03,08082000001018001/{$2 = 1018001}1' OFS=, /testdir/BALTRN3.*

Guys, I can't thank you enough for pointing me in the right direction!
Moderator's Comments:
Mod Comment Please use CODE tags when displaying sample input, output, and code segments.
If what you're saying is that you want to make both of the above changes to that file, please make both changes in one invocation of awk instead of invoking awk twice. You will get your results faster and use fewer system resources getting the job done:
Code:
/usr/local/bin/awk -i inplace -F, '
/^02,193631306,000300032,1,/{$6 = 2400}
/^03,08082000001018001/{$2 = 1018001}
1' OFS=, /testdir/BALTRN3.*

This User Gave Thanks to Don Cragun For This Post:
 
Test Your Knowledge in Computers #72
Difficulty: Easy
The 'Unix philosophy' is a computer design philosophy based on creating small, modular utilities that do one thing and do them well.
True or False?

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Insert a text from a specific row into a specific column using SED or AWK

Hi, I am having trouble converting a text file. I have been working for this whole day now, still i couldn't make it. Here is how the text file looks: _______________________________________________________ DEVICE STATUS INFORMATION FOR LOCATION 1: OPER STATES: Disabled E:Enabled ... (5 Replies)
Discussion started by: Issemael
5 Replies

2. UNIX for Dummies Questions & Answers

return a specific row using awk

Hello, I am using awk to process a file, and need to return a row that meets specific criteria. awk 'BEGIN{sets variables} {processes file, updates variables} END{need to print a row that meets the criteria in one of the variables} I have tried code in the END block like {print NR==var}... (1 Reply)
Discussion started by: badPuppy
1 Replies

3. Shell Programming and Scripting

Assigning a specific format to a specific column in a text file using awk and printf

Hi, I have the following text file: 8 T1mapping_flip02 ok 128 108 30 1 665000-000008-000001.dcm 9 T1mapping_flip05 ok 128 108 30 1 665000-000009-000001.dcm 10 T1mapping_flip10 ok 128 108 30 1 665000-000010-000001.dcm 11 T1mapping_flip15 ok 128 108 30... (2 Replies)
Discussion started by: goodbenito
2 Replies

4. Shell Programming and Scripting

change character(s) in specific column

Hi all! I need to change the final e every time when it is present in any word in column 1 to a; moreover, to change the final i again to a in any word in column 1, but just if word in column 2 begins with ha or si. Here below you can see a sample of my data: achwa ungeliachwa ungeli 1... (3 Replies)
Discussion started by: mjomba
3 Replies

5. Shell Programming and Scripting

delete a row with a specific value at a certain column

Hi, I want to delete rows that have 0 at column 4. The file looks like this: chr01 13 61 2 chr01 65 153 0 chr01 157 309 1 chr01 313 309 0 chr01 317 469 1 chr01 473 557 0 I want to delete all rows with a 0 at column 4 chr01 13 61 2 chr01 157 309 1 chr01 ... (3 Replies)
Discussion started by: kylle345
3 Replies

6. UNIX for Dummies Questions & Answers

awk: convert column to row in a specific way

Hi all! I have this kind of output: a1|b1|c1|d1|e1 a2|b2|c2 a3|b3|c3|d3 I would like to transpose columns d and e (when they exist) in column c, and under the row where they come from. Then copying the beginning of the row. In order to obtain: a1|b1|c1 a1|b1|d1 a1|b1|e1 a2|b2|c2... (1 Reply)
Discussion started by: lucasvs
1 Replies

7. Shell Programming and Scripting

how to remove tab space only in the column of a specific row

Hi, I need help to remove tab delimited space in the $2 of a specific row. My file is like this:- file1.txt No_1 4 139 156 No_1 5 161 205 No_4 91 227 212 No_19 254 243 263 No_19 645 249 258 No_19 101 2492 2635 No_90 8 277 288... (5 Replies)
Discussion started by: redse171
5 Replies

8. Shell Programming and Scripting

Print unique names in each row of a specific column using awk

Is it possible to remove redundant names in the 4th column? input cqWE 100 200 singapore;singapore AZO 300 400 brazil;america;germany;ireland;germany .... .... output cqWE 100 200 singapore AZO 300 400 brazil;america;germany;ireland (4 Replies)
Discussion started by: quincyjones
4 Replies

9. Shell Programming and Scripting

Overwrite specific column in xml file with the specific column from adjacent line

I have an xml file dumped from rrd file, that I want to "patch" so the xml file doesn't contain any blank hole in the resulting graph of the rrd file. Here is the file. <!-- 2015-10-12 14:00:00 WIB / 1444633200 --> <row><v> 4.0419731265e+07 </v><v> 4.5045912770e+06... (2 Replies)
Discussion started by: rk4k
2 Replies

10. Shell Programming and Scripting

Change some string in specific column with space

Hello All of Master Script , i need help to solve my problem before : mount /dev/rdsk/c1t69d0s6 /dev/rdsk/c1t69d0s6 /vol/cl123/PURGE1 ufs mount /dev/rdsk/c1t70d0s6 /dev/rdsk/c1t70d0s6 /vol/cl123/PURGE2 ufs expected : mount /dev/dsk/c1t69d0s6 /dev/rdsk/c1t69d0s6 /PURGE1 ufs mount ... (3 Replies)
Discussion started by: k0p0nkkk
3 Replies

Featured Tech Videos

All times are GMT -4. The time now is 04:10 AM.
Unix & Linux Forums Content Copyright 1993-2019. All Rights Reserved.
Privacy Policy