07-15-2006
bash pattern matching echo *[! '/' ] doesn't work
without using ls, just using echo so purely pattern matching
I can say echo */ <-- lists directories
but how would I match files? surely something like *!/ or *[!/] but neither work ?
it seems like there isn't much that I can put in [ ] but surely i should be able to put any ascii character. but how?
thanks
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
Hi everyone,
I have a Linux OS in my PC (older version 9). Its default shell is bash. Whenever I try to run some Perl program it throws error ! eg, if I run this simple PERL program ,
#!/usr/bin/perl
printf "\lHello \n";
$var=3 ;
printf $var;
@list=(1,2,3);
printf "@list";... (6 Replies)
Discussion started by: adc22
6 Replies
2. Shell Programming and Scripting
I have entry in the my .profile like below, but still i see $PWD is not defied in my system
export PS1=$LOGNAME@`hostname`':'$PWD'>'
echo $PWD also gives me nothing, my env list also give no entry for PWD.Can someone help me setting PWD variable.
I use /bin/sh (9 Replies)
Discussion started by: yesmani
9 Replies
3. Shell Programming and Scripting
#!/bin/sh
something(){
echo "Inside something"
echo $1 $2
}
val=$(something "Hello " "world")
Output expected:
Inside somethingHello world
But it's not echoing. (4 Replies)
Discussion started by: cola
4 Replies
4. Ubuntu
completion-ignore-case option doesn't work in my version:
/home/user $ echo $BASH_VERSION
3.2.48(1)-release
/home/user $ ls -l *
-rw-r--r-- 1 user user 0 2009-10-18 00:09 somefile
-rw-r--r-- 1 user user 0 2009-10-18 00:09 Somefile
/home/user $ set completion-ignore-case on
But when I... (2 Replies)
Discussion started by: Sapfeer
2 Replies
5. HP-UX
Hi! I need to get PID of some particular process and I wonder if I can use pgrep tool for this purpose. The problem is that pgrep doesn't perform pattern matching on the whole command line, even if I use -f key. Parsing output of ps command is not quite convenient... Also deamon, which PID I need... (2 Replies)
Discussion started by: Sapfeer
2 Replies
6. Shell Programming and Scripting
Hi,when I run my first shell script,I got something that doesn't work right.
I wrote this code in the script.
echo -e "Hello,World\a\n"But the screen print like this:
-e Hello,World
The "-e" wasn't supposed to be printed out.
Can anyone help me out?:wall:
Many thanks!:) (25 Replies)
Discussion started by: Demon
25 Replies
7. Shell Programming and Scripting
Hi,
I'm trying to write a script that checks gvfs to see if a mount exists so I can run it from network-manager's status hooks. I thought I'd pipe the output of gvfs-mount -l to grep for the particular mounts I care about. When I do this in a bash script:
cmnd="gvfs-mount -l | grep -i... (4 Replies)
Discussion started by: kcstrom
4 Replies
8. Shell Programming and Scripting
$ find /opt/data_* -maxdepth 3 -type d -name "main*" 2> /dev/null
/opt/data_025/maindblogs
/opt/data_026/maindblogs
/opt/data_027/maindblogs
/opt/data_028/maindblogs
$ find /opt/data_* -maxdepth 3 -type d -name "rvlogs*" 2> /dev/null
/opt/data_002/prod/rvlogs2_archive... (4 Replies)
Discussion started by: urello
4 Replies
9. UNIX for Beginners Questions & Answers
Hi everyone,
I've an issue trying to soustracte two dates, e.g:
d1=$(date -d "Nov 18, 2017" +%s)
d2=$(date +%s) # Today we are 2017-11-16
echo "$(( (d1 - d2) / 86400 ))"
Output:
1
I don't understand why it doesn't work. for me, it should give "18 - 16 = 2".
Much appreciated... (1 Reply)
Discussion started by: Arnaudh78
1 Replies
10. Shell Programming and Scripting
Bash version 4.4.20 / Ubuntu 16.0.4
Hello,
I tried to write a script that gathers some data and passes them to an executable.
The executed application answers with an error. The echo output in the script returns correct values.
If I copy/paste the last echo command, it get's executed... (2 Replies)
Discussion started by: sushi2k7
2 Replies
LEARN ABOUT PHP
datefmt_set_lenient
DATEFMT_SET_LENIENT(3) 1 DATEFMT_SET_LENIENT(3)
IntlDateFormatter::setLenient - Set the leniency of the parser
Object oriented style
SYNOPSIS
public bool IntlDateFormatter::setLenient (bool $lenient)
DESCRIPTION
Procedural style
bool datefmt_set_lenient (IntlDateFormatter $fmt, bool $lenient)
Define if the parser is strict or lenient in interpreting inputs that do not match the pattern exactly. Enabling lenient parsing allows
the parser to accept otherwise flawed date or time patterns, parsing as much as possible to obtain a value. Extra space, unrecognized
tokens, or invalid values ("February 30th") are not accepted.
PARAMETERS
o $fmt
- The formatter resource
o $lenient
- Sets whether the parser is lenient or not, default is TRUE (lenient).
RETURN VALUES
Returns TRUE on success or FALSE on failure.
EXAMPLES
Example #1
datefmt_set_lenient(3) example
<?php
$fmt = datefmt_create(
'en_US',
IntlDateFormatter::FULL,
IntlDateFormatter::FULL,
'America/Los_Angeles',
IntlDateFormatter::GREGORIAN,
'dd/MM/yyyy'
);
echo 'lenient of the formatter is : ';
if ($fmt->isLenient()) {
echo 'TRUE';
} else {
echo 'FALSE';
}
datefmt_parse($fmt, '35/13/1971');
echo "
Trying to do parse('35/13/1971').
Result is : " . datefmt_parse($fmt, '35/13/1971');
if (intl_get_error_code() != 0) {
echo "
Error_msg is : " . intl_get_error_message();
echo "
Error_code is : " . intl_get_error_code();
}
datefmt_set_lenient($fmt, false);
echo "
Now lenient of the formatter is : ";
if ($fmt->isLenient()) {
echo 'TRUE';
} else {
echo 'FALSE';
}
datefmt_parse($fmt, '35/13/1971');
echo "
Trying to do parse('35/13/1971').
Result is : " . datefmt_parse($fmt, '35/13/1971');
if (intl_get_error_code() != 0) {
echo "
Error_msg is : ".intl_get_error_message();
echo "
Error_code is : ".intl_get_error_code();
}
?>
Example #2
OO example
<?php
$fmt = new IntlDateFormatter(
'en_US',
IntlDateFormatter::FULL,
IntlDateFormatter::FULL,
'America/Los_Angeles',
IntlDateFormatter::GREGORIAN,
'dd/MM/yyyy'
);
echo 'lenient of the formatter is : ';
if ($fmt->isLenient()) {
echo 'TRUE';
} else {
echo 'FALSE';
}
$fmt->parse('35/13/1971');
echo "
Trying to do parse('35/13/1971').
Result is : " . $fmt->parse('35/13/1971');
if (intl_get_error_code() != 0) {
echo "
Error_msg is : " . intl_get_error_message();
echo "
Error_code is : " . intl_get_error_code();
}
$fmt->setLenient(FALSE);
echo "
Now lenient of the formatter is : ";
if ($fmt->isLenient()) {
echo 'TRUE';
} else {
echo 'FALSE';
}
$fmt->parse('35/13/1971');
echo "
Trying to do parse('35/13/1971').
Result is : " . $fmt->parse('35/13/1971');
if (intl_get_error_code() != 0) {
echo "
Error_msg is : " . intl_get_error_message();
echo "
Error_code is : " . intl_get_error_code();
}
?>
The above example will output:
lenient of the formatter is : TRUE
Trying to do parse('35/13/1971').
Result is : 66038400
Now lenient of the formatter is : FALSE
Trying to do parse('35/13/1971').
Result is :
Error_msg is : Date parsing failed: U_PARSE_ERROR
Error_code is : 9
SEE ALSO
datefmt_is_lenient(3), datefmt_create(3).
PHP Documentation Group DATEFMT_SET_LENIENT(3)