If you need to set this with a wild-card in the test, you can achieve that by using:-
Code:
TEST="${FILEDIR}${LINE}/\*.csv"
I've added curly brackets (I think braces is the proper name) to be very clear on the variable names too.
You do not even need to use escapes if you enclose your variables in double quotes:
Code:
file="foo*bar"
if [ -f "$file" ] ; then
echo "file ${file} exists"
else
echo "file ${file} does not exist"
fi
try this out with a file literally named "foo*bar". To find files fitting the file glob (like i.e., "foo1.bar", etc.) remove the double quotes in the test only:
Code:
file="foo*bar"
if [ -f $file ] ; then # <-- notice the difference
echo "file ${file} exists"
else
echo "file ${file} does not exist"
fi
Hi Friends,
I have a requirement
I need to concatenate the below two strings.
String 1 = /@jobid_at_
String 2 = value stored in ORACLE_SID
String 3 = string1 concatenated with String 2.
Please let me know how should i do it in UNIX.
Thanks, (2 Replies)
Hello friends!
Each line of my input file has this format:
word<TAB>tag1<blankspace>lemma<TAB>tag2<blankspace>lemma ... <TAB>tag3<blankspace>lemma
Of this file I need to eliminate all the repeated tags (of the same word) in a line, as in the example here below, but conserving both (all) the... (2 Replies)
if i use
echo "ravi"
echo "sankar"
it showing output
ravi
sankar
but i want output as ravi sankar
remember sankar should be in another echo statement only (2 Replies)
In any given file, wherever a certain data block exists I need to concatenate the values(text after each "=" sign) from that block. in that block. The block starts and ends with specific pattern, say BEGIN DS and END DS respectively. The block size may vary. A file will have multiple such blocks.... (12 Replies)
Hello!
Can anyone explain line 28 for me? I was thinking *a would be replaced by *b, but it actually appends *a to *b. I know it is related to pointer address, but could not figure it out by myself. Thanks a lot!
1 //Concatenate two strings
2
3 #include<stdio.h>
4 char *stradd (char *,... (5 Replies)
Hi,I'm trying to concatenate @example.com to each line of a file f1.txt. and push it into f2.txt. Here is the code i'm using.
for i in `cat /home/linux1/xxxxxxx/f1.txt`;
do
echo ${i}@example.com > /home/linux1/xxxxxx/f2.txt;
done
But above code only printing @example.com in f2.txt. what... (18 Replies)
Discussion started by: sam_bd
18 Replies
LEARN ABOUT MOJAVE
text::glob
Text::Glob(3) User Contributed Perl Documentation Text::Glob(3)NAME
Text::Glob - match globbing patterns against text
SYNOPSIS
use Text::Glob qw( match_glob glob_to_regex );
print "matched
" if match_glob( "foo.*", "foo.bar" );
# prints foo.bar and foo.baz
my $regex = glob_to_regex( "foo.*" );
for ( qw( foo.bar foo.baz foo bar ) ) {
print "matched: $_
" if /$regex/;
}
DESCRIPTION
Text::Glob implements glob(3) style matching that can be used to match against text, rather than fetching names from a filesystem. If you
want to do full file globbing use the File::Glob module instead.
Routines
match_glob( $glob, @things_to_test )
Returns the list of things which match the glob from the source list.
glob_to_regex( $glob )
Returns a compiled regex which is the equivalent of the globbing pattern.
glob_to_regex_string( $glob )
Returns a regex string which is the equivalent of the globbing pattern.
SYNTAX
The following metacharacters and rules are respected.
"*" - match zero or more characters
"a*" matches "a", "aa", "aaaa" and many many more.
"?" - match exactly one character
"a?" matches "aa", but not "a", or "aaa"
Character sets/ranges
"example.[ch]" matches "example.c" and "example.h"
"demo.[a-c]" matches "demo.a", "demo.b", and "demo.c"
alternation
"example.{foo,bar,baz}" matches "example.foo", "example.bar", and "example.baz"
leading . must be explictly matched
"*.foo" does not match ".bar.foo". For this you must either specify the leading . in the glob pattern (".*.foo"), or set
$Text::Glob::strict_leading_dot to a false value while compiling the regex.
"*" and "?" do not match /
"*.foo" does not match "bar/baz.foo". For this you must either explicitly match the / in the glob ("*/*.foo"), or set
$Text::Glob::strict_wildcard_slash to a false value with compiling the regex.
BUGS
The code uses qr// to produce compiled regexes, therefore this module requires perl version 5.005_03 or newer.
AUTHOR
Richard Clamp <richardc@unixbeard.net>
COPYRIGHT
Copyright (C) 2002, 2003, 2006, 2007 Richard Clamp. All Rights Reserved.
This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
SEE ALSO
File::Glob, glob(3)perl v5.18.2 2017-10-06 Text::Glob(3)