09-08-2008
A problem for sed? Remove parts of a string
Hi,
My knowledge about sed is limited but I have a problem that I think can be solved with sed.
I have a variable in a shell script that stores a lot of path/filenames and the delimitter between them is a space (they all exist on the same line). One part of the filename is the file creation date.
Below an example of how a the variable store three instances of path/filenames:
/logdir/logfile_2008:08:12_Comp.Z /logdir/logfile_2008:08:13_Comp.Z
/logdir/logfile_2008:08:14_Comp.Z
I want to remove all path/filenames that doesn´t match an user specified interval of dates (handled earlier in the script). For example, maybe I have choosed the start date to 2008:08:14. That means that the instances with the dates 2008:08:12 and 2008:08:13 should be removed from the variable and the path/filename with the date 2008:08:14 should be kept in the variable.
How may this be solved with sed (or some other unix tool)?
Thanks,
Rick
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
Hello,
I have the following to remove spaces from beginning and end of a string.
infile=`echo "$infilename" | sed 's/^ *//;s/ *$//`
How do I modify the above code to remove spaces from beginning, end and in the middle of the string also.
ex:
... (4 Replies)
Discussion started by: radhika
4 Replies
2. Shell Programming and Scripting
Hi guys, I hope you can help me with my problem.
I have a text file that contains lines like this:
78 ANGELO -809.05
79 ANGELO2 -5,000.06
I need to find all occurences of amounts that are negative and replace them with x's
78 ANGELO xxxxxxx
79... (4 Replies)
Discussion started by: amangeles
4 Replies
3. Shell Programming and Scripting
if I have "abxcdxefx" and want to remove the x's with sed, how can I do this?
Thanks.
WHOOPS:
Just remembered:
echo "abxcdxefx" | sed s/x//g
Thanks for reading, though. (0 Replies)
Discussion started by: lumix
0 Replies
4. Shell Programming and Scripting
Hi guys,
I have been trying to play with sed to accomplish this but I just can't quite get it right.
I need to be able to remove the year from a string held in a variable in my bash script.
The string may have multiple words but always ends with a year such as (2009)
for example:
... (2 Replies)
Discussion started by: tret
2 Replies
5. Shell Programming and Scripting
Hello!
Please bare with me, I'm a total newbie to scripting. Here's the sudo code of what I'm trying to do:
Get file name
Does file exist?
If true
get length of file name
get network id (this will be the last 3 numbers of the file name)
loop x 2
If... (1 Reply)
Discussion started by: KatieV
1 Replies
6. Shell Programming and Scripting
I want to remove the beginning and end of a filename and keep the middle.
E.g. tempblast7114_1#21110932.out_ the current filename
I want it to be called 7114_1#21 only
How would I do this?? (3 Replies)
Discussion started by: avonm
3 Replies
7. Shell Programming and Scripting
Hi,
INPUT:
DCBADD
OUTPUT:
ABCD
The SED script should alphabetically sort the chars in the string and remove the duplicate chars. (5 Replies)
Discussion started by: jds93
5 Replies
8. Shell Programming and Scripting
Hello All,
I am running a command find . -name amp.cfg | cut -c 3- which gives me output something like below
rel/prod/amp.cfg
rel/fld/amp.cfg
deb/detail/amp.cfg
deb/err/amp.cfg I want to remove trailing "/amp.cfg" so that i should get output something like... (7 Replies)
Discussion started by: anand.shah
7 Replies
9. Shell Programming and Scripting
Dear All,
Can anyone help to remove the , bewteen "" in a string by using sed or awk?
e.g.
input : 1,4,5,"abcdef","we,are,here",4,"help hep"
output:1,4,5,"abcdef","wearehere",4,"help hep"
Thanks,
Mimi (5 Replies)
Discussion started by: mimilaw
5 Replies
10. Shell Programming and Scripting
Hi all,
I have this input:
"203324780",,"89321213261247090146","VfdsD150","0D","fd3221","V0343","aaa","Direkt","fsa","2015.02.27","39833,54454,21214",,,"fd","NORMAL","D","10fd","1243 Flotta","HiĂĄnytalan","2013.02.25",,"2013.02.25","2013.02.24","2013.02.28",,"SajĂĄt... (4 Replies)
Discussion started by: snayper
4 Replies
LEARN ABOUT DEBIAN
cache::historical
Historical(3pm) User Contributed Perl Documentation Historical(3pm)
NAME
Cache::Historical - Cache historical values
SYNOPSIS
use Cache::Historical;
my $cache = Cache::Historical->new();
# Set a key's value on a specific date
$cache->set( $dt, $key, $value );
# Get a key's value on a specific date
my $value = $cache->get( $dt, $key );
# Same as 'get', but if we don't have a value at $dt, but we
# do have values for dates < $dt, return the previous
# historic value.
$cache->get_interpolated( $dt, $key );
DESCRIPTION
Cache::Historical caches historical values by key and date. If you have something like historical stock quotes, for example
2008-01-02 msft 35.22
2008-01-03 msft 35.37
2008-01-04 msft 34.38
2008-01-07 msft 34.61
then you can store them in Cache::Historical like
my $cache = Cache::Historical->new();
my $fmt = DateTime::Format::Strptime->new(
pattern => "%Y-%m-%d");
$cache->set( $fmt->parse_datetime("2008-01-02"), "msft", 35.22 );
$cache->set( $fmt->parse_datetime("2008-01-03"), "msft", 35.37 );
$cache->set( $fmt->parse_datetime("2008-01-04"), "msft", 34.38 );
$cache->set( $fmt->parse_datetime("2008-01-07"), "msft", 34.61 );
and retrieve them later by date:
my $dt = $fmt->parse_datetime("2008-01-03");
# Returns 35.37
my $value = $cache->get( $dt, "msft" );
Even if there's no value available for a given date, but there are historical values that predate the requested date, "get_interpolated()"
will return the next best historical value:
my $dt = $fmt->parse_datetime("2008-01-06");
# Returns undef, no value available for 2008-01-06
my $value = $cache->get( $dt, "msft" );
# Returns 34.48, the value for 2008-01-04, instead.
$value = $cache->get_interpolated( $dt, "msft" );
Methods
new()
Creates the object. Takes the SQLite file to put the date into as an additional parameter:
my $cache = Cache::Historical->new(
sqlite_file => "/tmp/mydata.dat",
);
The SQLite file defaults to
$HOME/.cache-historical/cache-historical.dat
so if you have multiple caches, you need to use different SQLite files.
time_range()
# List the time range for which we have values for $key
my($from, $to) = $cache->time_range( $key );
keys()
# List all keys
my @keys = $cache->keys();
values()
# List all the values we have for $key, sorted by date
# ([$dt, $value], [$dt, $value], ...)
my @results = $cache->values( $key );
clear()
# Remove all values for a specific key
$cache->clear( $key );
# Clear the entire cache
$cache->clear();
last_update()
# Return a DateTime object of the last update of a given key
my $when = $cache->last_update( $key );
since_last_update()
# Return a DateTime::Duration object since the time of the last
# update of a given key.
my $since = $cache->since_last_update( $key );
LEGALESE
Copyright 2007-2011 by Mike Schilli, all rights reserved. This program is free software, you can redistribute it and/or modify it under
the same terms as Perl itself.
AUTHOR
2007, Mike Schilli <cpan@perlmeister.com>
perl v5.10.1 2011-04-27 Historical(3pm)