Sponsored Content
Full Discussion: Search and replace in file
Top Forums Shell Programming and Scripting Search and replace in file Post 302982916 by greet_sed on Tuesday 4th of October 2016 05:23:25 PM
Old 10-04-2016
Hi,

@blastit.fr : your code missing leading zero as per OP output example.

Code:
awk 'NR==2{split($0,a)} {printf"%s ",$1;for(i=2;i<=NF;i++) if ( $i==0 ) { printf"%02d ",a[i-1] };print " "}' file

Gives output:
Code:
JKSJM01 09 21 22 23  
JKMSC1 06 21 22 23  
SRIMSC3 04 21 22 23  
SRIMSC2 21 22 23  
SRGMSC1 21 22 23  
JKGJM01 21 22 23  
HRSAM02 21 22 23

If you want entire line with all the fields and you want 02,03 instead of 3, please try the below one and modify as per your need.

Code:
awk 'NR==2{split($0,a)} {for(i=2;i<=NF;i++) if ( $i==0 ) { $i=a[i-1] }}1' file

Gives output:
Quote:
Enter the date in the format YYYYMMDD: NODE
00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23
== == == == == == == == == == == == == == == == == == == == == == == ==

JKSJM01 2 2 2 2 2 2 2 2 2 09 2 2 2 2 2 2 2 2 2 2 2 21 22 23
JKMSC1 2 2 2 2 2 2 06 2 2 2 2 2 2 2 2 2 2 2 2 2 2 21 22 23
SRIMSC3 3 3 3 3 04 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 21 22 23
SRIMSC2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 21 22 23
SRGMSC1 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 21 22 23
JKGJM01 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 21 22 23
HRSAM02 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 21 22 23

Last edited by greet_sed; 10-04-2016 at 06:24 PM.. Reason: Add missing code tags
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Search and replace in file

Hi guys, I have one file with duplicate string. I want to replace all the occurance of that string with some other string. How can I do that in vi editor? Malay Maru (3 Replies)
Discussion started by: malaymaru
3 Replies

2. Shell Programming and Scripting

Search and replace in file..

Hi All, As I'm working on a Unix script... and the requirement is like, I need to search a word and replace it with the another word... for that i'm using SED command.... can anybody give any other alternate for this...? Thanks Amit (2 Replies)
Discussion started by: Amits
2 Replies

3. Shell Programming and Scripting

search and replace in a file

Hi I have to search & replace column in the file.For example ..below iam having File1. in which 3rd column ...if it is A it should be 'ACT' if P it should be 'PAD' and if it ils D it should be 'DEC' I have to pass column no ,value and to be converted value as variables in to the... (2 Replies)
Discussion started by: satyam_sat
2 Replies

4. UNIX for Advanced & Expert Users

search and replace in a file

I have a file (say file1.txt) and I have to search for a line which has a text replace it and replace another string too in the same line. Eg: file1.txt -------- x='hai' y='world' z='unix' x='hai' y='world' x='hai' z='perl' y='world' z="world" k="junk" b="world" z='perl' x='hai'... (3 Replies)
Discussion started by: ammu
3 Replies

5. Shell Programming and Scripting

Help on search and replace in a file

Hi all, The operating system is Solaris 10 I have example line here below I need to change the stat1 to stat2 using a shell script. search for space(" ") and replace with "\ " Stat1 --- /data/Sat Night Stay.txt Stat2 --- /data/Sat\ Night\ Stay.txt Thanks Firestar. (1 Reply)
Discussion started by: firestar
1 Replies

6. Shell Programming and Scripting

Optimised way for search & replace a value on one line in a very huge file (File Size is 24 GB).

Hi Experts, I had to edit (a particular value) in header line of a very huge file so for that i wanted to search & replace a particular value on a file which was of 24 GB in Size. I managed to do it but it took long time to complete. Can anyone please tell me how can we do it in a optimised... (7 Replies)
Discussion started by: manishkomar007
7 Replies

7. Emergency UNIX and Linux Support

Search and replace in text file

Hi, I have gigabytes of text files that I need to search for "&" and replace with "&amp". Is there a way to do this efficiently (like sed command)? Hope you could help. Thanks. (17 Replies)
Discussion started by: daytripper1021
17 Replies

8. Shell Programming and Scripting

Search for a string in a file and replace

I have file t1.log Contents of t1.log file Number of records processed: Number of records rejected: Error : xyz .......... abc .......... aaa _] start time : end time : Please let me know how i can remove the contents highlighted in red in the t1.log file. Thanks Sam (3 Replies)
Discussion started by: sam777
3 Replies

9. Shell Programming and Scripting

Nested search in a file and replace the inner search

Hi Team, I am new to unix, please help me in this. I have a file named properties. The content of the file is : ##Mobile props east.url=https://qa.east.corp.com/prop/end west.url=https://qa.west.corp.com/prop/end south.url=https://qa.south.corp.com/prop/end... (2 Replies)
Discussion started by: tolearn
2 Replies

10. Shell Programming and Scripting

Search and Replace in a new FILE.

Hi, more data.txt more srstring.sh input="data.txt" while IFS= read -r var do startdirectory=$loc search=$(echo $var | awk -F'=' '{print $1}') replace=$(echo $var | awk -F'=' '{print $2}') find "/tmp/config" -type f -exec grep -l "$search" {} + | while read file do if sed -e... (9 Replies)
Discussion started by: mohtashims
9 Replies
REPLACE(1)						       MySQL Database System							REPLACE(1)

NAME
       replace - a string-replacement utility

SYNOPSIS
       replace arguments

DESCRIPTION
       The replace utility program changes strings in place in files or on the standard input.

	   Note
	   The replace utility is deprecated as of MySQL 5.7.18 and is removed in MySQL 8.0.

       Invoke replace in one of the following ways:

	   shell> replace from to [from to] ... -- file_name [file_name] ...
	   shell> replace from to [from to] ... < file_name

       from represents a string to look for and to represents its replacement. There can be one or more pairs of strings.

       Use the -- option to indicate where the string-replacement list ends and the file names begin. In this case, any file named on the command
       line is modified in place, so you may want to make a copy of the original before converting it.	replace prints a message indicating which
       of the input files it actually modifies.

       If the -- option is not given, replace reads the standard input and writes to the standard output.

       replace uses a finite state machine to match longer strings first. It can be used to swap strings. For example, the following command swaps
       a and b in the given files, file1 and file2:

	   shell> replace a b b a -- file1 file2 ...

       replace supports the following options.

       o   -?, -I

	   Display a help message and exit.

       o   -#debug_options

	   Enable debugging.

       o   -s

	   Silent mode. Print less information what the program does.

       o   -v

	   Verbose mode. Print more information about what the program does.

       o   -V

	   Display version information and exit.

COPYRIGHT
       Copyright (C) 1997, 2018, Oracle and/or its affiliates. All rights reserved.

       This documentation is free software; you can redistribute it and/or modify it only under the terms of the GNU General Public License as
       published by the Free Software Foundation; version 2 of the License.

       This documentation is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
       MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

       You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation,
       Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA or see http://www.gnu.org/licenses/.

SEE ALSO
       For more information, please refer to the MySQL Reference Manual, which may already be installed locally and which is also available online
       at http://dev.mysql.com/doc/.

AUTHOR
       Oracle Corporation (http://dev.mysql.com/).

MySQL 5.7							    06/07/2018								REPLACE(1)
All times are GMT -4. The time now is 04:04 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy