Visit Our UNIX and Linux User Community

sed or awk help or smth...

Thread Tools Search this Thread
Top Forums Shell Programming and Scripting sed or awk help or smth...
# 1  
Old 02-26-2008
sed or awk help or smth...

Hi all,

I will be glad if you can help me.

I have this kind of document:

$cat mistake_file

and I want to replace just first occurence of word or number 123456 in this file with XXXXXX and also to save changes into this file.

it will be not always "123456" and the file is much more longer and this numbers are sometimes in the middle of line... so I want the script in generally not just for this example Smilie

I was trying it with sed but that command replace one occurence in line but on all lines in document or all occurences in documents...

$sed s/123456/XXXXXX/
$sed s/123456/XXXXXX/g
$sed s/123456/XXXXXX/1

doesn`t worked for me...

I`m not good in awk or nawk but I read somewhere that it should solve my problem... is here anybody who wants and can help? Smilie

Best regards,
oddo Smilie

EDIT: under Solaris (SunOS 5.9)

Last edited by oddo; 02-26-2008 at 10:38 AM..
# 2  
Old 02-26-2008
With awk:

awk '/123456/ && !flag++{print "XXXXXX";next}1' file

# 3  
Old 02-26-2008
Originally Posted by Franklin52
With awk:

awk '/123456/ && !flag++{print "XXXXXX";next}1' file

Thanks, but RESULT: awk: syntax error near line 1

maybe I should mentioned that I`m working under Solaris (SunOS 5.9)... Smilie
# 4  
Old 02-26-2008
On Solaris use:

# 5  
Old 02-27-2008
hm under solaris it is still not working... still the same mistake Smilie

I tryied it under debian linux and there it is running but, script will just put in stdout XXXXXX not in the file...

any ideas? Smilie

maybe if it is possible write the script under bash or ksh...
# 6  
Old 02-27-2008
Originally Posted by oddo
hm under solaris it is still not working... still the same mistake Smilie

I tryied it under debian linux and there it is running but, script will just put in stdout XXXXXX not in the file...

any ideas? Smilie

maybe if it is possible write the script under bash or ksh...
Redirect that to a file.

/usr/xpg4/bin/awk '/123456/ && !flag++{print "XXXXXX";next}1' file > output.txt

It certainly is possible to write a script.
#! /bin/ksh

while read line
  if [[ "$line" -eq "123456" -a $replaced -eq 0 ]] ; then
    echo "XXXXXX" >> output.txt

  echo "$line" >> output.txt
done < input.txt

# 7  
Old 02-27-2008

awk way solve my problem Smilie

thanks again a lot Smilie you saved lot of my neurons Smilie

best regards Smilie

Last edited by oddo; 02-27-2008 at 06:19 AM..

Previous Thread | Next Thread
Test Your Knowledge in Computers #542
Difficulty: Medium
A globally scoped variable is invalid throughout the entire program.
True or False?

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

sed and awk giving error ./ line 13: sed: command not found

Hi, I am running a script in bash environment .In the script i am using sed and awk commands which when executed individually from terminal they are getting executed normally but when i give these sed and awk commands in the script it is giving the below errors :- ./ line... (12 Replies)
Discussion started by: satishmallidi
12 Replies

2. Shell Programming and Scripting

Is this possible using SED and AWK?

Dear Geeks, I want to manipulate a file with certain modifications for that using sed or AWK how to do this process for one file i have this type of data. Input File: "Restricted and Reserved names .ANISH",3798,"TEST.CO",1201208,6/16/10 0:00,6/16/13 0:00,,,"CO","2nd"^M "Restricted and... (4 Replies)
Discussion started by: anishkumarv
4 Replies

3. UNIX for Dummies Questions & Answers

sed/awk or help please

I have a file that contain the data below: B1 1 2 3 B2 20 30 40 B3 7 8 B4 100 B5 21 22 23How can I retrieve the data for B1 into a seperate file. (8 Replies)
Discussion started by: bobo
8 Replies

4. Shell Programming and Scripting

Need help using awk or sed.

Hi All, Is there a way of comparing two columns in the same file and deleting the row if the values of the columns match. I have the sample data file as below. M024900|175309.00|968.00|17 M025001|19861.79|97.90|148 M025002|431.70|159.00|3 M025003|912.30|159.90|6 ... (6 Replies)
Discussion started by: nua7
6 Replies

5. Shell Programming and Scripting

Using sed or awk?

What if I wanted to add a word such as IT after the first character and if theres 3 characters, after the 2nd character? output would be: G, it H G, H it P G, H, P it L I'm thinking that AWK would be the easiest way to do this... Currently looking it up. Right now I'm using awk but I... (13 Replies)
Discussion started by: puttster
13 Replies

6. UNIX for Dummies Questions & Answers

sed or awk?

I've got an inventory database with eight columns with things like product name, manufacturer, UPC code, etc. on each line. Our PO (purchase order) number is in the first column. I can grep the date and get the full line of data but I would like to strip out everything but the PO number in the... (5 Replies)
Discussion started by: NetJones
5 Replies

7. UNIX for Advanced & Expert Users

Awk or Sed help

Hi, I have a data file with 5 columns - like this: "20080401 09:43:08.770798 +0100s","TEST 1","R 1","A TEST","Nov 27 2007","1" "20080401 09:43:08.770798 +0100s","THIS IS A TEST","R 2","B TEST","Nov 30 2007","10" "20080401 09:43:08.770798 +0100s","ANOTHER TEST","R 3","B TEST","Nov 05... (7 Replies)
Discussion started by: MrG-San
7 Replies

8. UNIX for Advanced & Expert Users

sed in awk ? or nested awk ?

Hey all, Can I put sed command inside the awk action ?? If not then can i do grep in the awk action ?? For ex: awk '$1=="174" { ppid=($2) ; sed -n '/$ppid/p' tempfind.txt ; }' tempfind.txt Assume: 174 is string. Assume: tempfind.txt is used for awk and sed both. tempfind.txt... (11 Replies)
Discussion started by: varungupta
11 Replies

9. Shell Programming and Scripting


Hi, I know sed is stream text editor and not a bit more than that. Can anyone explain its usage and advantages? How is awk different from sed? I donno i am a bit confused about it. But i have coded in awk and shell. Thanks, Nisha :confused: (7 Replies)
Discussion started by: Nisha
7 Replies

10. Shell Programming and Scripting

awk / sed

I have many messages such as the test message below: 00:00000:00021:2002/05/13 13:57:00.51 ERROR:- Test error, my test error!!! I am writing a script in which I need to get everything from the word "ERROR:-" onwards. I normally use awk for these things, but I am not an expert at it so i am... (6 Replies)
Discussion started by: baileyr1
6 Replies

Featured Tech Videos