02-27-2009
Quote:
Originally Posted by
fpmurphy
Not necessarily true. It will result in an unsatisfactory ordering for certain locales unless the correct collator (for the locale) is provided in the underlying OS to allow locale-sensitive ordering. Bash and other shells do not include built-in collators.
Some shells such as ksh93 and zsh specifically avoid the issue for this reason. From the ksh93 man page
The zsh manual has almost identical text.
The bash manual states, "lexicographically in the current locale", but in fact uses the character's ASCII value.
The shell does use the locale's collating order for character ranges, e.g., [a-z]. I don't know whether the order is generated by the shell or by the OS.
10 More Discussions You Might Find Interesting
1. Programming
Hi,
I am starting out to program on Unix, having had experience in C and C++ in DOS. I would like to know, of these three, which is the best book for learning C programming in Unix:
Advanced Unix Programming by Marc Rochkind
Advanced Unix Programming by Warren Gay
Advanced Programming in... (6 Replies)
Discussion started by: theicarusagenda
6 Replies
2. Shell Programming and Scripting
hi ,
i am trying to compre two strings
if ] or if ]
when the length of var1 is small (around 300-400 char ) it works fine
but when it is large (around 900-1000 chars) it fails
is there any limitations for this type of comparison ??? (3 Replies)
Discussion started by: amarnath
3 Replies
3. AIX
hi ,
i am trying to compre two strings
if ] or if ]
when the length of var1 is small (around 300-400 char ) it works fine
but when it is large (around 900-1000 chars) it fails
is there any limitations for this type of comparison ??? (1 Reply)
Discussion started by: amarnath
1 Replies
4. Shell Programming and Scripting
I want to remove a line that has empty string at second field when I use cut with delimeter , like below
$cat demo
hello, mum
hello,
#!/bin/sh
while read line
do
if
then
# remove the current line command goes here
fi
done < "demo"
i got an error message for above... (4 Replies)
Discussion started by: bonosungho
4 Replies
5. Solaris
I Have a script which gets the status of oracle database and if the status is READ WRITE ..it should echo "db is up " else "db is down"
Here is the code
if
then
echo "db up"
else
echo "db down"
fi
done;
The script is giving me out put "db down" even thoug the value of... (6 Replies)
Discussion started by: njafri
6 Replies
6. Shell Programming and Scripting
Hello everybody,
I decided to take a Unix Introduction class and have never had experience with programming. Everything was fine until recently when the Prof. started shell scripting and he wants us to make a small script to add unlimited numbers from arguments and from standard input.
I... (1 Reply)
Discussion started by: Florinel76
1 Replies
7. Homework & Coursework Questions
Hello everybody,
I decided to take a Unix Introduction class and have never had experience with programming. Everything was fine until recently when the Prof. started shell scripting and he wants us to make a small script to add unlimited numbers from arguments and from standard input.
I... (8 Replies)
Discussion started by: Florinel76
8 Replies
8. Shell Programming and Scripting
Hi,
can someone please help me!!! urgent!
I have a strange issue here. I grep for 2 strings from a txt files and compare the string value. Though the string values are the same, they are compared as different values. Please help
Case-1
--------
Here I grep for 2 different field values... (3 Replies)
Discussion started by: vani123
3 Replies
9. Shell Programming and Scripting
guys , i am using inotify for monitoring one directory to check core file generation , my snippet of code is follows
#!/bin/bash
DIR=$1
inotifywait -q -e create -m $DIR | while read path events name;
do
if ]; then
echo "Now I am going to do something with $name in directory $path."... (5 Replies)
Discussion started by: baker
5 Replies
10. Shell Programming and Scripting
I have the logic below to look up for matches within the columns between the two files with awk.
In the if statement is where the string comparison is attempted with ==
The issue seems to be with the operands, as
1. when " '${SECTOR}' " -- double quote followed by single quote -- awk matches... (1 Reply)
Discussion started by: deadyetagain
1 Replies
locale(3pm) Perl Programmers Reference Guide locale(3pm)
NAME
locale - Perl pragma to use or avoid POSIX locales for built-in operations
SYNOPSIS
@x = sort @y; # Unicode sorting order
{
use locale;
@x = sort @y; # Locale-defined sorting order
}
@x = sort @y; # Unicode sorting order again
DESCRIPTION
This pragma tells the compiler to enable (or disable) the use of POSIX locales for built-in operations (for example, LC_CTYPE for regular
expressions, LC_COLLATE for string comparison, and LC_NUMERIC for number formatting). Each "use locale" or "no locale" affects statements
to the end of the enclosing BLOCK.
Starting in Perl 5.16, a hybrid mode for this pragma is available,
use locale ':not_characters';
which enables only the portions of locales that don't affect the character set (that is, all except LC_COLLATE and LC_CTYPE). This is
useful when mixing Unicode and locales, including UTF-8 locales.
use locale ':not_characters';
use open ":locale"; # Convert I/O to/from Unicode
use POSIX qw(locale_h); # Import the LC_ALL constant
setlocale(LC_ALL, ""); # Required for the next statement
# to take effect
printf "%.2f
", 12345.67' # Locale-defined formatting
@x = sort @y; # Unicode-defined sorting order.
# (Note that you will get better
# results using Unicode::Collate.)
See perllocale for more detailed information on how Perl supports locales.
perl v5.16.2 2012-10-11 locale(3pm)