How to test that a string doesn't contain specific characters?


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting How to test that a string doesn't contain specific characters?
# 8  
Old 10-25-2016
Hi,

For given input,
Code:
if [[ "usertesté" =~ [a-z0-9èàù] ]]; then echo "Entry should not contain special chars. Reenter correct entry" ; else echo "Does not contain special chars"; fi

Gives desired output:
Quote:
Entry should not contain special chars. Reenter correct entry
# 9  
Old 10-25-2016
In your case, you must set LC_ALL=C because you want exclude characters with accent.

Regards.
This User Gave Thanks to disedorgue For This Post:
# 10  
Old 10-25-2016
Quote:
Originally Posted by disedorgue
Hi,
Your regex in first post could work with correct locale, example:
Code:
$ XX="éàç"
$ LC_ALL=C
$ [[ "$XX" =~ [A-Za-z0-9_] ]] && echo ok
$ LC_ALL=fr_FR.UTF-8
$ [[ "$XX" =~ [A-Za-z0-9_] ]] && echo ok
ok

I choice "fr_FR.UTF-8" because I'm french Smilie

Regards.
Quote:
Originally Posted by disedorgue
In your case, you must set LC_ALL=C because you want exclude characters with accent.

Regards.
Oh ok, I understand,merci, Thanks it works ! SmilieSmilie

Last edited by Arnaudh78; 10-25-2016 at 07:31 PM..
# 11  
Old 10-31-2016
see also
Code:
man ascii
man locale
man tr

Code:
# echo "0123456789aàâeéèêëiïîuùûüAÄÂÀEËÊÈIÏÎÌUÛÙÜ" | tr -d [:alnum:]
àâéèêëïîùûüÄÂÀËÊÈÏÎÌÛÙÜ
# echo "0123456789aàâeéèêëiïîuùûüAÄÂÀEËÊÈIÏÎÌUÛÙÜ" | tr -cd [:alnum:][:space:]
0123456789aeiuAEIU

Also read about character class

Last edited by ctsgnb; 10-31-2016 at 02:43 PM..
This User Gave Thanks to ctsgnb For This Post:
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Test command non case specific string comparision

Hi, I want to do caseless string comparision using test command for eg: Ind_f="y" test "$Ind_f" == "y|Y" i tried , ** , nothing worked. any thoughts on how to do case insensitive string comparison using test command without converting to any particular case using typeset or tr? (8 Replies)
Discussion started by: Kulasekar
8 Replies

2. Shell Programming and Scripting

[Solved] If doesn't evaluate the first test

Good afternoon, I am tearing hair out over this. It should be so simple. I have an if statement to evaluate whether or not replication is working. I am testing variables from mysql to see if they are both "Yes". I have put some echo statements in to see how far the code proceeds. It always... (6 Replies)
Discussion started by: jimm
6 Replies

3. Shell Programming and Scripting

Count specific characters at specific column positions

Hi all, I need help. I have an input text file (input.txt) like this: 21 GTGCAACACCGTCTTGAGAGG 50 21 GACCGAGACAGAATGAAAATC 73 21 CGGGTCTGTAGTAGCAAACGC 108 21 CGAAAAATGAACCCCTTTATC 220 21 CGTGATCCTGTTGAAGGGTCG 259 Now I need to count A/T/G/C numbers at each character location in column... (2 Replies)
Discussion started by: thienxho
2 Replies

4. Shell Programming and Scripting

Can't figure out how to find specific characters in specific columns

I am trying to find a specific set of characters in a long file. I only want to find the characters in column 265 for 4 bytes. Is there a search for that? I tried cut but couldn't get it to work. Ex. I want to find '9999' in column 265 for 4 bytes. If it is in there, I want it to print... (12 Replies)
Discussion started by: Drenhead
12 Replies

5. Shell Programming and Scripting

sed replacing specific characters and control characters by escaping

sed -e "s// /g" old.txt > new.txt While I do know some control characters need to be escaped, can normal characters also be escaped and still work the same way? Basically I do not know all control characters that have a special meaning, for example, ?, ., % have a meaning and have to be escaped... (11 Replies)
Discussion started by: ijustneeda
11 Replies

6. Shell Programming and Scripting

Value of variable is NULL, but test doesn't seem to recognize

Hello, Unix-forums! My problem: read -p "Enter any number, please" number sleep 1 echo $number | tr -d 0-9 test -z $number && echo "Thank you" || echo "This is not a number"Test always displays "This is not a number". It doesn't matter if I entered a or 1. But if I order echo... (2 Replies)
Discussion started by: intelinside
2 Replies

7. Programming

Kernel module - How to test if file doesn't exist

Hey, I'm currently getting into some kernel module progamming. As a little exercise I want to read the headers out of an ELF file. My code is very simple, here is the important part: struct file *fp; /* ... */ fp = filp_open("some/file/on/my/pc", O_RDONLY, 0); if(fp == NULL) { ... (15 Replies)
Discussion started by: disaster
15 Replies

8. Shell Programming and Scripting

How to check weather a string is like test* or test* ot *test* in if condition

How to check weather a string is like test* or test* ot *test* in if condition (5 Replies)
Discussion started by: johnjerome
5 Replies

9. Shell Programming and Scripting

Test on string containing spacewhile test 1 -eq 1 do read a $a if test $a = quitC then break fi d

This is the code: while test 1 -eq 1 do read a $a if test $a = stop then break fi done I read a command on every loop an execute it. I check if the string equals the word stop to end the loop,but it say that I gave too many arguments to test. For example echo hello. Now the... (1 Reply)
Discussion started by: Max89
1 Replies

10. Shell Programming and Scripting

replacing specific characters in a string

Hi Friends, Following is an output of a script OPWQERIUTYKLSADFJHGXZNMCVBWQOPERIUTYKLSADFJHGXZNMCVB I want to replace above string's 11 to 17 character by ******* (7 stars) How can it be done? Please somebody guide me. (6 Replies)
Discussion started by: anushree.a
6 Replies
Login or Register to Ask a Question