Sponsored Content
Top Forums Shell Programming and Scripting Replace characters in string with awk gsub Post 302886240 by Akshay Hegde on Thursday 30th of January 2014 08:32:18 AM
Old 01-30-2014
Whether like this ?

Code:
$ cat file
a,b,c,d,e,f,g,h,t,DISTI(USD),MSRP(USD),DIST(EUR),MSRP(EUR),EMEA-DISTI(USD),EMEA-MSRP(USD),GLOBAl-DISTI(USD),GLOBAL-MSRP(USD),DISTI(GBP), MSRP(GBP)

Code:
$ awk 'NR==1{gsub(/\(/,",");gsub(/\)/,x)}1' file

Resulting
Code:
a,b,c,d,e,f,g,h,t,DISTI,USD,MSRP,USD,DIST,EUR,MSRP,EUR,EMEA-DISTI,USD,EMEA-MSRP,USD,GLOBAl-DISTI,USD,GLOBAL-MSRP,USD,DISTI,GBP, MSRP,GBP

 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Replace characters in a string using their ascii value

Hi All, In the HP Unix that i'm using when i initialise a string as Stalled="'30¬G'" Stalled=$Stalled" '30¬C'", it is taking the character ¬ as a comma. I need to grep for 30¬G 30¬C in a file and take its count. But since this character ¬ is not being understood, the count returns a zero. The... (2 Replies)
Discussion started by: roops
2 Replies

2. Shell Programming and Scripting

search and replace characters in one string

I have lines like: Dog Cat House Mouse Dog Cat House Mouse Dog Cat House Mouse Dog Cat House Mouse I'd like to replace characters only in $3. H -> Z s -> W e -> x Resulting in something like (where $1, $2, and $4 are not changed): Dog Cat ZouWx Mouse Dog Cat ZouWx Mouse... (3 Replies)
Discussion started by: dcfargo
3 Replies

3. Shell Programming and Scripting

gsub in Awk to capture count of replaced characters

Hi , I am working on a script to replace special characters in ASCII file with '?'. We need to get count of replaced characters from file. I am new to Awk and i read, # The gsub function returns the number of substitutions made. I was trying to replace characters with below... (10 Replies)
Discussion started by: Akshay
10 Replies

4. Shell Programming and Scripting

awk and gsub - how to replace only the first X occurrences

I have a text (text.txt) and I would like to replace only the first 2 occurrences of a word (but I might need to replace more): For example, if text is this: CAR sweet head hat red yellow CAR book brown tiger CAR cow CAR CAR milk I would like to replace the word "CAR" with word... (12 Replies)
Discussion started by: bingel
12 Replies

5. Shell Programming and Scripting

Using of gsub function in AWK to replace space by underscore

I must design a UNIX script to monitor files whose size is over a threshold of 5 MB in a specific UNIX directory I meet a problem during the for loop in my script. Some file names contain spaces. ls -lrt | awk '$5>=5000000 && length($8)==5 {gsub(/ /,"_",$9); print};' -rw-r--r-- 1 was61 ... (2 Replies)
Discussion started by: Scofield38
2 Replies

6. Shell Programming and Scripting

awk + gsub to search multiple input values & replace with located string + extra text

Hi all. I have the following command that is successfully searching for any one of the strings on all lines of a file and replacing it with the instructed value. cat inputFile | awk '{gsub(/aaa|bbb|ccc|ddd/,"1234")}1' > outputFile This does in fact replace any occurrence of aaa, bbb,... (2 Replies)
Discussion started by: dazhoop
2 Replies

7. Shell Programming and Scripting

Search & replace content using awk/gsub

Hi, I have two files master.txt & reference.txt. Sample below Master.txt 2372,MTS,AP 919848001104,Airtel,DL 0819,MTS,MUM 919849788001,Airtel,AP 1430,Aircel MP,20 Reference.txt 2372,919848701430,46467 919848002372,2372,47195 2372,919849788001,59027 0819,028803,1 0819,029801,1... (2 Replies)
Discussion started by: siramitsharma
2 Replies

8. Shell Programming and Scripting

Search & Replace content of files using gsub in awk

Hi,I have 2 files master.txt & reference.txt as shown below & i require o/p as mentioned in file 3 using awk but content is not replacing properlymaster.txt:... (15 Replies)
Discussion started by: siramitsharma
15 Replies

9. Shell Programming and Scripting

Help to replace the string with special characters

{"name":"alR_pl-ENVIRONMENT_192_168_211_123_sDK_PROVISION_7","description":"aLR_pl-ENVIRONMENT_192_168_211_123_sDK_PROVISION_7","json_class":"Chef::Role","default_attributes":{},"override_attributes":{"yoapp":{"jboss":"5.1.0","port":"2243","warname":"soap","datacenter":"alR","ip":"192.168.211.123","... (3 Replies)
Discussion started by: nikhil jain
3 Replies

10. Shell Programming and Scripting

awk gsub command to replace multiple spaces

Hi Forum. I'm trying to cleanup the following data elements (To remove any occurences of commas and any extra spaces) while preserving the <TAB> delimiter using awk gsub but I have not been successful. Original Data: 4365 monte des source rue,, ,<TAB>trevost<TAB>QC Desired Data:... (1 Reply)
Discussion started by: pchang
1 Replies
Moose::Cookbook::Roles::Recipe1(3)			User Contributed Perl Documentation			Moose::Cookbook::Roles::Recipe1(3)

NAME
Moose::Cookbook::Roles::Recipe1 - The Moose::Role example VERSION
version 2.0205 SYNOPSIS
package Eq; use Moose::Role; requires 'equal_to'; sub not_equal_to { my ( $self, $other ) = @_; not $self->equal_to($other); } package Comparable; use Moose::Role; with 'Eq'; requires 'compare'; sub equal_to { my ( $self, $other ) = @_; $self->compare($other) == 0; } sub greater_than { my ( $self, $other ) = @_; $self->compare($other) == 1; } sub less_than { my ( $self, $other ) = @_; $self->compare($other) == -1; } sub greater_than_or_equal_to { my ( $self, $other ) = @_; $self->greater_than($other) || $self->equal_to($other); } sub less_than_or_equal_to { my ( $self, $other ) = @_; $self->less_than($other) || $self->equal_to($other); } package Printable; use Moose::Role; requires 'to_string'; package US::Currency; use Moose; with 'Comparable', 'Printable'; has 'amount' => ( is => 'rw', isa => 'Num', default => 0 ); sub compare { my ( $self, $other ) = @_; $self->amount <=> $other->amount; } sub to_string { my $self = shift; sprintf '$%0.2f USD' => $self->amount; } DESCRIPTION
Roles have two primary purposes: as interfaces, and as a means of code reuse. This recipe demonstrates the latter, with roles that define comparison and display code for objects. Let's start with "Eq". First, note that we've replaced "use Moose" with "use Moose::Role". We also have a new sugar function, "requires": requires 'equal_to'; This says that any class which consumes this role must provide an "equal_to" method. It can provide this method directly, or by consuming some other role. The "Eq" role defines its "not_equal_to" method in terms of the required "equal_to" method. This lets us minimize the methods that consuming classes must provide. The next role, "Comparable", builds on the "Eq" role. We include "Eq" in "Comparable" using "with", another new sugar function: with 'Eq'; The "with" function takes a list of roles to consume. In our example, the "Comparable" role provides the "equal_to" method required by "Eq". However, it could opt not to, in which case a class that consumed "Comparable" would have to provide its own "equal_to". In other words, a role can consume another role without providing any required methods. The "Comparable" role requires a method, "compare": requires 'compare'; The "Comparable" role also provides a number of other methods, all of which ultimately rely on "compare". sub equal_to { my ( $self, $other ) = @_; $self->compare($other) == 0; } sub greater_than { my ( $self, $other ) = @_; $self->compare($other) == 1; } sub less_than { my ( $self, $other ) = @_; $self->compare($other) == -1; } sub greater_than_or_equal_to { my ( $self, $other ) = @_; $self->greater_than($other) || $self->equal_to($other); } sub less_than_or_equal_to { my ( $self, $other ) = @_; $self->less_than($other) || $self->equal_to($other); } Finally, we define the "Printable" role. This role exists solely to provide an interface. It has no methods, just a list of required methods. In this case, it just requires a "to_string" method. An interface role is useful because it defines both a method and a name. We know that any class which does this role has a "to_string" method, but we can also assume that this method has the semantics we want. Presumably, in real code we would define those semantics in the documentation for the "Printable" role. (1) Finally, we have the "US::Currency" class which consumes both the "Comparable" and "Printable" roles. with 'Comparable', 'Printable'; It also defines a regular Moose attribute, "amount": has 'amount' => ( is => 'rw', isa => 'Num', default => 0 ); Finally we see the implementation of the methods required by our roles. We have a "compare" method: sub compare { my ( $self, $other ) = @_; $self->amount <=> $other->amount; } By consuming the "Comparable" role and defining this method, we gain the following methods for free: "equal_to", "greater_than", "less_than", "greater_than_or_equal_to" and "less_than_or_equal_to". Then we have our "to_string" method: sub to_string { my $self = shift; sprintf '$%0.2f USD' => $self->amount; } CONCLUSION
Roles can be very powerful. They are a great way of encapsulating reusable behavior, as well as communicating (semantic and interface) information about the methods our classes provide. FOOTNOTES
(1) Consider two classes, "Runner" and "Process", both of which define a "run" method. If we just require that an object implements a "run" method, we still aren't saying anything about what that method actually does. If we require an object that implements the "Executable" role, we're saying something about semantics. AUTHOR
Stevan Little <stevan@iinteractive.com> COPYRIGHT AND LICENSE
This software is copyright (c) 2011 by Infinity Interactive, Inc.. This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. perl v5.12.5 2011-09-06 Moose::Cookbook::Roles::Recipe1(3)
All times are GMT -4. The time now is 08:23 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy