05-31-2006
Example
Hi
I started the thread with the example. To make it clearer, below is the real life example :
I receive a file with a timestamp appended to it from source system. If it is a compressed file using gzip utility, source (a mainframe system) could send it in all the following possible formats:
filename.gz.timestamp
filename.GZ.timestamp
filename.Gz.timestamp
filename.gZ.timesstamp
I have to replace .gz., .Gz., .gZ., .GZ. to a single dot to make the above names as filename.timestamp. Once i am done with this, I will append a .gz suffix at the end. So at the end of this operation, i will have following gzip file
filename.timestamp.gz
I can now go ahead and unzip it. I was trying to use the following form of sed earlier using regular expression but it did not work for me..
echo $filename|sed 's/.gz.|.Gz.|.gZ.|.GZ././'
With what Vino suggested later on, i could resolve the issue but was just wondering why I could not use the above form of regular expression with sed.
Hope that makes it clearer.
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
Hi,
Is there any way to traverse the file once and look for the following conditions in one sweep instead of going over the file 3 times with different search criteria......
sed -n '/^ORA-07445/ p' /tmp/t$$ > ${OERRFILE}
sed -n '/^ORA-00600/ p' /tmp/t$$ >> ${OERRFILE}
... (1 Reply)
Discussion started by: YS2002
1 Replies
2. Shell Programming and Scripting
hello there, I have a sed question.
I have a file (temp.srv), in it it has
v1_host1
v2_host2
And I have another file (temp2.srv), in it is has
v1_host3_date
v1_host1
v2_host2
v2_host4_date
v3_host5_date
I had used a script to remove the name from temp2.srv base on the name inside... (3 Replies)
Discussion started by: ahtat99
3 Replies
3. Shell Programming and Scripting
Hi,
When deleting lines using sed, as i understand the lines are redirected to the standard output. What i'm unclear about is how to actually modify the file?
If I write the command sed '1,2d' test it will display lines one and 2 onto the screen however the file is not modified? I think my... (5 Replies)
Discussion started by: c19h28O2
5 Replies
4. Shell Programming and Scripting
Hi, :)
can any body explain the following statement
sed 's/\(\)- ]//g'
cheers
RRK (3 Replies)
Discussion started by: ravi raj kumar
3 Replies
5. Shell Programming and Scripting
I have a file that conatins following info
Policy1=U|guestRoom=test1idCode=5(1):!:Amenity2=U|RoomId=testrma=4(1):!:|
GuestRoomAmenity1=U|guestRoomId=testguest1id^rmaCode=5(1):!:|
I need it to look like this
Policy1=U|guestRoom=test1idCode
Amenity2=U|RoomId=testrmaCode... (2 Replies)
Discussion started by: arushunter
2 Replies
6. UNIX for Dummies Questions & Answers
How would I use sed to print everything on the line after the regular expresion?
I have a configuration file setting several variables.
cfg.dat
DDB = cpptest
SUDBNAME = sucpptestdb
host = cpptest
Example
I want to search for the regular expresion 'SUDBNAME =' and print everything on... (3 Replies)
Discussion started by: orahi001
3 Replies
7. Shell Programming and Scripting
Write a sed script to extract the year, rank, and stock for the most recent 10 years available in the file top10_mktval.csv, and output in the following format:
------------------------------
YEAR |RANK| STOCK
------------------------------
2007 | 1 | Exxon... (1 Reply)
Discussion started by: beibeiatNY
1 Replies
8. Shell Programming and Scripting
hi
i have a file with this line:
variable=/export/home/oracle
I want to change the file so that the path is replaced with the value of another variable
var2=/tmp/anything.
how to do this in sed?
thx (4 Replies)
Discussion started by: melanie_pfefer
4 Replies
9. Shell Programming and Scripting
I need to replace the numbers with a new string.
How can I give a wildcard for the different # of numbers
sed '/abcdef/s/abcdef=*/abcdef=999999/'<foo>foo1
From: To:
abcdef=1234 abcdef=999999
abcdef=12345 abcdef=999999
abcdef=123456... (10 Replies)
Discussion started by: beppler
10 Replies
10. UNIX for Dummies Questions & Answers
I am trying to write a script that will take an input text file in the format
person: place: phonenumber;
person: place: phonenumber;
person: place: phonenumber;
...
and output it using sed too:
Name ######## Location ######### Phone Number... (1 Reply)
Discussion started by: jmack56
1 Replies
LEARN ABOUT DEBIAN
perl::critic::policy::regularexpressions::requirelineboundarymat
Perl::Critic::Policy::RegularExpressions::RequireLineBouUseryContributedPerl::Critic::Policy::RegularExpressions::RequireLineBoundaryMatching(3pm)
NAME
Perl::Critic::Policy::RegularExpressions::RequireLineBoundaryMatching - Always use the "/m" modifier with regular expressions.
AFFILIATION
This Policy is part of the core Perl::Critic distribution.
DESCRIPTION
Folks coming from a "sed" or "awk" background tend to assume that '$' and '^' match the beginning and end of the line, rather than then
beginning and end of the string. Adding the '/m' flag to your regex makes it behave as most people expect it should.
my $match = m{ ^ $pattern $ }x; #not ok
my $match = m{ ^ $pattern $ }xm; #ok
CONFIGURATION
This Policy is not configurable except for the standard options.
NOTES
For common regular expressions like e-mail addresses, phone numbers, dates, etc., have a look at the Regexp::Common module. Also, be
cautions about slapping modifier flags onto existing regular expressions, as they can drastically alter their meaning. See
<http://www.perlmonks.org/?node_id=484238> for an interesting discussion on the effects of blindly modifying regular expression flags.
AUTHOR
Jeffrey Ryan Thalhammer <jeff@imaginative-software.com>
COPYRIGHT
Copyright (c) 2005-2011 Imaginative Software Systems. All rights reserved.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. The full text of this license
can be found in the LICENSE file included with this module.
perl v5.14.2 2012Perl::Critic::Policy::RegularExpressions::RequireLineBoundaryMatching(3pm)