Changes of text in a file


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Changes of text in a file
# 1  
Old 01-30-2014
Changes of text in a file

Please advise i need to change a text in a file, what should i do....



original text

Code:
18011324      ; serial number YYMMDDNN

m.abcd.com.             600     IN      A       10.10.128.154

text need to replaced

Code:
18011325      ; serial number YYMMDDNN

m.abcd.com.             600     IN      A       10.20.124.100


Moderator's Comments:
Mod Comment With over 350 posts and numerous infractions for misuse of CODE tags, you know that putting sample input, sample output, and descriptive text in a single set of CODE tags obfuscates what your input and output are supposed to look like.

Last edited by Don Cragun; 01-30-2014 at 03:46 AM.. Reason: Fix CODE tags.
# 2  
Old 01-30-2014
Code:
awk '/^[0-9]/{$1=new}1' new=18011325 file

# 3  
Old 01-30-2014
What have you tried so far?
This User Gave Thanks to anbu23 For This Post:
# 4  
Old 01-30-2014
Longhand OSX 10.7.5, default bash terminal:-
Code:
Last login: Thu Jan 30 07:38:52 on ttys000
AMIGA:barrywalker~> yourtext="18011324      ; serial number YYMMDDNN
> 
> m.abcd.com.             600     IN      A       10.10.128.154"
AMIGA:barrywalker~> echo "$yourtext"
18011324      ; serial number YYMMDDNN

m.abcd.com.             600     IN      A       10.10.128.154
AMIGA:barrywalker~> yourtext="${yourtext:0:$[ ( ${#yourtext} - 2 ) ]}00"
AMIGA:barrywalker~> echo "$yourtext"
18011324      ; serial number YYMMDDNN

m.abcd.com.             600     IN      A       10.10.128.100
AMIGA:barrywalker~> _

EDIT:
Drat, just seen the 5 and 20 in there too, but using this method is just as easy....

Last edited by wisecracker; 01-30-2014 at 03:52 AM.. Reason: See above...
# 5  
Old 01-30-2014
Hi Akshay and wisecracker:
I modified the CODE tags in the 1st message in this thread to make the input and output differences easier to see, but even with that fix, it seems that none of you noticed that four fields changed.

With four unrelated changes and no description of how the desired output could be derived from the input, it seems to me that the easiest thing for learnbash to do is to manually edit the input file. In case you didn't notice, the requested output (with the differences marked in red) are:
Code:
18011325      ; serial number YYMMDDNN

m.abcd.com.             600     IN      A       10.20.124.100

Why write a script to make four unrelated changes once?
This User Gave Thanks to Don Cragun For This Post:
# 6  
Old 01-30-2014
For domain replacement, i am able to do change with sed. But i want to automate it that's why i need to change serial number with some calculation.

Code:
current number : - 18011324

Code:
new number : - 18011325

It will check the last two digits and add the increment one number in it. If it is 23 it will change to 24, and if it is 24 then it will change to 25.

Last edited by Don Cragun; 01-30-2014 at 04:49 AM.. Reason: Fixed CODE tags again.
# 7  
Old 01-30-2014
First of all I would like to thank you for moderator comment you posted. Don I really didn't notice it as it was merged like single file, and there was some unclear description some "flat file", I did not remember all...he must have edited. I think you might get in post history.

---------- Post updated at 03:14 PM ---------- Previous update was at 03:10 PM ----------

Quote:
Originally Posted by learnbash
For domain replacement, i am able to do change with sed. But i want to automate it that's why i need to change serial number with some calculation.

Code:
current number : - 18011324

Code:
new number : - 18011325

It will check the last two digits and add the increment one number in it. If it is 23 it will change to 24, and if it is 24 then it will change to 25.


Spend some time and come with your script showing your effort towards it.. if we find that you really tried something..but could not solve it.. then we will answer... here we just want to see what you have learned from Forum after 300+ posts.

Hope other members also will agree with my words.

Regards,
Akshay
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Match text to lines in a file, iterate backwards until text or text substring matches, print to file

hi all, trying this using shell/bash with sed/awk/grep I have two files, one containing one column, the other containing multiple columns (comma delimited). file1.txt abc12345 def12345 ghi54321 ... file2.txt abc1,text1,texta abc,text2,textb def123,text3,textc gh,text4,textd... (6 Replies)
Discussion started by: shogun1970
6 Replies

2. Shell Programming and Scripting

Match text from file 1 to file 2 and return specific text

I hope this makes sense and is possible. I am trying to match $1 of panel_genes.txt with $3 of RefSeqGene.txt and when a match is found the value in $6 of RefSeqGene.txt Example: ACTA2 is $1 of panel_genes.txt ACTA2 NM_001613.2 ACTA2 NM_001141945.1 awk 'FNR==NR {... (4 Replies)
Discussion started by: cmccabe
4 Replies

3. UNIX for Dummies Questions & Answers

Delete records based on a text file from a text file

Hi Folks, I am a novice and need to build a script in bash. I have 2 text files data.txt file is big file, column 2 is the we need to search and delete in the output. The filter file contains the rows to be deleted. Data.txt state city zone Alabama Huntsville 4 California SanDiego 3... (3 Replies)
Discussion started by: tech_frk
3 Replies

4. UNIX for Dummies Questions & Answers

Extracting lines from a text file based on another text file with line numbers

Hi, I am trying to extract lines from a text file given a text file containing line numbers to be extracted from the first file. How do I go about doing this? Thanks! (1 Reply)
Discussion started by: evelibertine
1 Replies

5. UNIX for Dummies Questions & Answers

How to grep multiple lines from a text file using another text file?

I would like to use grep to select multiple lines from a text file using a single-column text file. Basically I want to only select lines from the first text file where the second column of the first text file matches the second text file. How do I go about doing that? Thanks! (5 Replies)
Discussion started by: evelibertine
5 Replies

6. UNIX for Dummies Questions & Answers

Converting a text file with irregular spacing into a space delimited text file?

I have a text file with irregular spacing between values which makes it really difficult to manipulate. Is there an easy way to convert it into a space delimited text file so that all the spaces, double spaces, triple spaces, tabs between numbers are converted into spaces. The file looks like this:... (5 Replies)
Discussion started by: evelibertine
5 Replies

7. Shell Programming and Scripting

search text file in file if this file contains necessary text (awk,grep)

Hello friends! Help me pls to write correct awk and grep statements for my task: I have got files with name filename.txt It has such structure: Start of file FROM: address@domen.com (12...890) abc DATE: 11/23/2009 on Std SUBJECT: any subject End of file So, I must check, if this file... (4 Replies)
Discussion started by: candyme
4 Replies

8. Shell Programming and Scripting

Create multiple text file from a single text file on AIX

Hi I need to create multiple text files from onc text file on AIX. The data of text files is as below: ********************************************** ********************************************** DBVERIFY: Release 10.2.0.4.0 - Production on Tue Nov 10 13:45:42 2009 Copyright (c) 1982,... (11 Replies)
Discussion started by: lodhi1978
11 Replies

9. Shell Programming and Scripting

how can I bcp out a table into a text file including the header row in the text file

Hi All, I need to BCP out a table into a text file along with the table headers. Normal BCP out command only bulk copies the data, and not the headers. I am using the following command: bcp database1..table1 out file1.dat -c -t\| -b1000 -A8192 -Uuser -Ppassword -efile.dat.err Regards,... (0 Replies)
Discussion started by: shilpa_acc
0 Replies

10. Shell Programming and Scripting

Ping text file of ip addressese and output to text file

I am basically a scripting noob, I have some programming logic, and I wouldn't post here if my 3 hours of searching actually found something. So far this is what I have: " #! /bin/ksh List=./pinglist1.txt cat $List | while read ip do Pingable="" ping $ip -n 2 | awk '/100%/ {print... (11 Replies)
Discussion started by: Lasthitlarry
11 Replies
Login or Register to Ask a Question