how to change a particular value in a file based on a pattern


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers how to change a particular value in a file based on a pattern
# 1  
Old 08-19-2008
Power how to change a particular value in a file based on a pattern

how to change a particular value in a line of a file based on a pattern

eg:

source file will be like
=================

99999999999 maximum number(0)
ksuisikjjsl;;l skjss''llsl
minimum number 0000000
maximum number of golds(0)


target should be like
=================

99999999999 maximum number(1)
ksuisikjjsl;;l skjss''llsl
minimum number 0000000
maximum number of golds(1)

the pattern i searched ihere is maximum, once i find the pattern the value which is (1) needs to change to (2).

i will give command line parameters for the pattern needs to be searched and the existing value and the value which it needs to be changed.

in the above example

Pattern to search is maximum
existing value is 1
value to be replaced is 2.

Note : the open and closed braces will be there in all the lines < (1) >.
# 2  
Old 08-19-2008
1rst solution:
with vi:
edit the file with vi then
:%s/(1)/(2)
# 3  
Old 08-19-2008
clarifications

The requirement needs to be done in run time.

Note : I have a previous task after the completion of the task the script needs to be kicked off and the changes needs to be made in the file.

and also the reqt is < changing a particular value in a line of a file based on a pattern >
# 4  
Old 08-19-2008
Well, that means do the same with sed...
# 5  
Old 08-19-2008
i would like to quickly clarify the reqt once again

eg:

source file will be like
=================

99999999999 maximum number(0)
ksuisikjjsl;;l skjss''llsl(0)
minimum number 0000000(0)
maximum number of golds(0)


target should be like
=================

99999999999 maximum number(1)
ksuisikjjsl;;l skjss''llsl(0)
minimum number 0000000(0)
maximum number of golds(1)
# 6  
Old 08-19-2008
Can you please guide me, with the same
# 7  
Old 08-19-2008
Asume your file is called gigi
then:
cat gigi|while read line
do
OK=$(echo $line|grep maximum)
if [ "$OK" = "" ]
then
echo $line >>gigi.out
else
echo $OK | sed -e 's/(1)/(2)/'>>gigi.out
fi
done

#
then
mv gigi.out>gigi
I believe ther is no simple solution because you are looking for a pattern to do something else (modify the end of line...)
 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Strip file based on pattern

Hi, I am stripping the below file based on a pattern: **Starts**02-MAY-2017 03:48:13 **Ends**02-MAY-2017 03:48:13 +---------------------------------------------------------------------------+ Start of log messages ... (2 Replies)
Discussion started by: Prasannag87
2 Replies

2. UNIX for Beginners Questions & Answers

Splitting a file based on a pattern

Hi All, I am having a problem. I tried to extract the chunk of data and tried to fix I am not able to. Any help please Basically I need to remove the for , values after K, this is how it is now A,, B, C,C, D,D, 12/04/10,12/04/10, K,1,1,1,1,0,3.0, K,1,1,1,2,0,4.0,... (2 Replies)
Discussion started by: arunkumar_mca
2 Replies

3. UNIX for Beginners Questions & Answers

Extract file name based on the pattern

Hello All, I have multiple files in a hadoop /tmp/cloudera directory. Filename are as follows ABC_DATA_BAD5A_RO_F_20161104.CSV ABC_DATA_BAD6C_VR_F_20161202.CSV ABC_DATA_BAD7A_TR_F_20162104.CSV ABC_DATA_BAD2A_BR_F_20161803.CSV ABC_DATA_BAD3T_KT_F_20160106.CSV I just need filenames... (6 Replies)
Discussion started by: prajaktaraut
6 Replies

4. UNIX for Advanced & Expert Users

Split one file to many based on pattern

Hello All, I have records in a file in a pattern A,B,B,B,B,K,A,B,B,K Is there any command or simple logic I can pull out records into multiple files based on A record? I want output as File1: A,B,B,B,B,K File2: A,B,B,K (9 Replies)
Discussion started by: deal1dealer
9 Replies

5. Shell Programming and Scripting

Splitting textfile based on pattern and name new file after pattern

Hi there, I am pretty new to those things, so I couldn't figure out how to solve this, and if it is actually that easy. just found that awk could help:(. so i have a textfile with strings and numbers (originally copy pasted from word, therefore some empty cells) in the following structure: SC... (9 Replies)
Discussion started by: luja
9 Replies

6. Shell Programming and Scripting

Split the file based on pattern

Hi , I have huge files around 400 mb, which has clob data and have diffeent scenarios: I am trying to pass scenario number as parameter and and get required modified file based on the scenario number and criteria. Scenario 1: file name : scenario_1.txt ... (2 Replies)
Discussion started by: sol_nov
2 Replies

7. Shell Programming and Scripting

How can I change file value based on condition

Hi, Gurus, I got a problem to resolve following issue: I have one file file1as following: start_dt=2010-01-01 12:00:02 start_dt=2011-01-01 09:00:02 start_dt=2009-01-01 11:00:02I have another file file2 as following: title1, 2010-01-03 10:00:02 title2, 2011-01-04 11:00:02 title3,... (5 Replies)
Discussion started by: ken002
5 Replies

8. Shell Programming and Scripting

Change the File name using pattern and number

Hi, i have the below files in the wrk folder. File names are AAB0001.R BBA0002.R CCDC0003.R AAB0002.R AAB0034.R BBA0081.R DDDE0008.R i need to change the file name USING pattern and number. output like below :wall: AAB0001.R AAB0002.R AAB0003.R BBA0001.R BBA0002.R CCDC0001.R... (3 Replies)
Discussion started by: krbala1985
3 Replies

9. Shell Programming and Scripting

Change file content based on data

I have a Transaction File coming into the system. In this file, in all records the relevant data is as follows- Position 1:10 -> Transaction Code Position 252:255 -> 4 digit business code Now based on these 2 fields I have to alter value in Transaction code (Position 1:10)... (6 Replies)
Discussion started by: varunrbs
6 Replies

10. Shell Programming and Scripting

Split a file based on a pattern

Dear all, I have a large file which is composed of 8000 frames, what i would like to do is split the file into 8000 single files names file.pdb.1, file.pdb.2 etc etc each frame in the large file is seperated by a "ENDMDL" flag so my thinking is to use this flag a a point to split the files... (4 Replies)
Discussion started by: Mish_99
4 Replies
Login or Register to Ask a Question