👤
Home Man
Search
Today's Posts
Register

If you're not sure where to post a Unix or Linux question, post it here. All unix and Linux beginners welcome in this forum!

Confusion in working of carat(^) symbol

👤 Login to reply

 
Thread Tools Search this Thread
# 1  
Old 12-21-2017
Confusion in working of carat(^) symbol

hi All,

i have googled and found that below are the functionality of carat symbol
Meaning of carat is
Code:
"at the beginning of line"; 
"it can also negate matches"

how do i know when carat is behaving as beginning of line or as a negate.

regards,
scriptor
# 2  
Old 12-21-2017
From the context. First we need to know that you seem to be talking of regexes, because a carat can have even more meanings, e.g. exponentiation in several programming languages, upper case conversion in certain shells' "Case Modification Parameter Expansion", or used to produce characters like in the French locale.
In regexes, if used as the first character in a matching pattern, it anchors the pattern at BOL. If not the first character, it is treated as is, i.e. there must be a carat in the text to match the carat in the regex.
In a bracket expression, if the list begins with '^', it matches any single character not from the rest of the list.

Last edited by RudiC; 12-21-2017 at 06:42 AM..
# 3  
Old 12-21-2017
Hi Rudic,
didn't understand below line
Code:
 
 In a bracket expression, if the list begins with '^', it matches any single character not from the rest of the list.

I create a file

Code:
 
 cat test.txt 
no color
No color

I do the following
Code:
 
 # grep ^[^nN] test.txt  ---> this gives no output why so ?

Code:
 
 # grep ^[nN] test.txt-------> this gives o/p
no color
No color

# 4  
Old 12-21-2017
In a [character set] if the first character is ^ it means NOT the following character set.
^[^nN] means at the beginning of the line there must be a character that is not n or N.
BTW please always put grep regular expression in "quotes" or 'quotes'. Then it is guaranteed that the shell does not try to make any expansion but passes the string to grep as is.
Code:
grep "^[^nN]" test.txt

# 5  
Old 12-21-2017
One thing to also note is that
Code:
grep "^[^nN]"

also removes empty lines (since it does not start with a non-n or N character), whereas
Code:
grep -v "^[nN]"

does not remove empty lines
# 6  
Old 12-22-2017
HI MadeInGermany

when you say
Code:
In a [character set] if the first character is ^ it means NOT the following character set.

then the below command should not give O/P but it is giving. by say not the following character I mean
Code:
nN

.
so ideally it should not give any output.
Code:
 
  
 grep ^[nN] test.txt

# 7  
Old 12-22-2017
Code:
grep "^[nN]" test.txt

matches at the beginning of the line an n or N
Code:
no color
No color

Both lines match.
👤 Login to reply

« Previous Thread | Next Thread »
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

More UNIX and Linux Forum Topics You Might Find Helpful
Thread Thread Starter Forum Replies Last Post
Confusion in hash scriptscript Shell Programming and Scripting 1 09-06-2013 09:47 AM
Confusion with PS sathyaonnuix Shell Programming and Scripting 11 09-28-2012 06:01 AM
Stripping of a symbol from string not working properly angie1234 Shell Programming and Scripting 13 03-29-2012 12:10 PM
/usr/lib/passwdutil.so.1: symbol __nsl_fgetspent_r: referenced symbol not found dshakey Solaris 0 03-18-2010 02:11 PM
crontab confusion user50210 UNIX for Dummies Questions & Answers 2 06-25-2008 05:46 PM
'tr' confusion Nafanja UNIX for Dummies Questions & Answers 2 12-05-2007 10:47 PM
Invoke URL's from file and comment with # symbol which are not working gsp UNIX for Dummies Questions & Answers 0 08-23-2007 02:55 AM
Sed confusion alfredo123 Shell Programming and Scripting 3 11-17-2006 11:16 AM
ftp confusion intern UNIX for Dummies Questions & Answers 1 06-08-2006 06:20 PM
unix confusion tribb24 UNIX for Dummies Questions & Answers 1 05-11-2006 10:41 PM


All times are GMT -4. The time now is 09:15 PM.

Unix & Linux Forums Content Copyright©1993-2018. All Rights Reserved.
×
UNIX.COM Login
Username:
Password:  
Show Password





Not a Forum Member?
Forgot Password?