Unsure of sed notation (nu\\t.\*)


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Unsure of sed notation (nu\\t.\*)
# 1  
Old 07-20-2011
Unsure of sed notation (nu\\t.\*)

This piece of code is in a shell script I'm trying to modify to run on my system.

Code:
sed s:nu\\t.\*:"nu=0"

It's clearly a substitute script which replaces nu\\t.\* with nu = 0.

What exactly does
Code:
nu\\t.\*

demarcate though-- I thought it was just the previous nu = xxxxx (which existed and is getting overwritten) but the double forward slashes and then the t confuse me.

Thanks in advance.
# 2  
Old 07-20-2011
A backslash (\) is an way to force the interpretation of the next character the way it is.
# 3  
Old 07-20-2011
Quote:
Originally Posted by Shell_Life
A backslash (\) is an way to force the interpretation of the next character the way it is.
Yes, I know. So why the double backlash? Is that to force the interpretation of the 2nd one as a backslash?

Then it would mean that

Code:
nu\\t.\*

is replacing

Code:
nu\t.*

Which doesn't make sense in the context of the file.
# 4  
Old 07-20-2011
Quote:
Originally Posted by czar21
Code:
sed s:nu\\t.\*:"nu=0"

You must have garbled the code while posting. That's not a valid sed command since the substitute command is unterminated.

If we add a : at the end, then at least we have something that makes sense to at least one sed implementation, GNU sed. Even so, I'm inclined to believe that whoever wrote that is deranged and/or trying to intentionally confuse the reader.

If single quotes were used to protect the sed script, all but one of the backslashes and all of the double quotes would not be needed. There's also no need to use the non-default delimiter (colon) since there are no forward slashes in the command. A much clearer version:
Code:
sed 's/nu\t.*/nu=0/'

What does that mean then? \t is an undefined sequence in POSIX sed. GNU sed treats it as an extension which matches a tab character. So, assuming GNU sed, it replaces nu<tab><optional misc characters><end of line> with nu=0<end of line>.

Regards,
Alister
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Unsure why access time on a directory change isn't changing

Hello... And thanks in advance for any help anyone can offer me I was trying to work out the differences between displaying modify, access, and change times with the 'ls' command. Everything seems in order when I look at files, but the access time on a directory doesn't seem to change when I... (4 Replies)
Discussion started by: bodisha
4 Replies

2. Shell Programming and Scripting

Perl: scientific notation to decimal notation

hello folks, I have few values in a log which are in scientific notation. I am trying to convert into actual decimal format or integer but couldn't able to convert. Values in scientific notation: 1.1662986666666665E-4 2.0946799999999998E-4 3.0741333333333333E-6 5.599999999999999E-7... (2 Replies)
Discussion started by: scriptscript
2 Replies

3. Shell Programming and Scripting

C-script notation

Just a very brief question, but I have a script written in a C-like language possibly tcl with the line set var ... ...All I want to know, is ** multiplication or is it exponentiation? What is the ** operator? (1 Reply)
Discussion started by: chrisjorg
1 Replies

4. Shell Programming and Scripting

Convert decimal notation to ANSI point code notation

wondering if anyone has any thoughts to convert the below thru a shell script Convert decimal signalling point notation to ANSI point code notation There is a site that does that conversion but i need to implement the solution in a shell script.....Thoughts.... OS: Solaris 9 ... (4 Replies)
Discussion started by: aavam
4 Replies

5. IP Networking

IP Address Notation

In the IP addresses 193.32.156.0/24 and 169.183.0.0/16, what do the /16 and /24 represent? (5 Replies)
Discussion started by: JerryHone
5 Replies

6. Shell Programming and Scripting

Rounding scientific notation

Hi Friends, I have following 50,000 records in .txt file. I need to round field 3, 4, & 5 to 3 decimal places. 11|A123|-2.64216408856E01|3.64216408856E01|4.64216408856E-01 11|A123|0|-5.64216408856E01|0 11|A123|0|0|0 11|A123|-99999999|-99999999|-99999999... (4 Replies)
Discussion started by: ppat7046
4 Replies

7. UNIX for Dummies Questions & Answers

Conversion of scientific notation

Hello All, Hope all is well, Suppose I have a program that extracted data into a file called: progcros.in. I attached the file but I renamed it progcros.txt. I think that my mess up the column alignment. Anyways, in several columns there are numbers listed, however the numbers... (4 Replies)
Discussion started by: gingburg
4 Replies

8. Post Here to Contact Site Administrators and Moderators

Unsure what caused an infraction on my account.

Hey everyone. I wasn't sure what it meant when my profile said it had 1 infraction against it, so I thought I'd check it out. Unfortunately, I can't find the post in question. The date from the post in question is 07-09-2008 at 04:24 AM, but from what I can tell is marked as 'private'. I'd... (2 Replies)
Discussion started by: glen.barber
2 Replies

9. UNIX for Dummies Questions & Answers

unsure if this is a unix datestamp??? can you guys tell?

hi everyone im new here and im hoping you could help me out here. Yesterday i removed a time stamp from a program that i am using.This timestamp should contain a date of 04/04/2008 with a time sometime in that day. the stamp in hex is 7C FE 2B 04 DA 4E E3 40 ive looked everywhere and im... (1 Reply)
Discussion started by: uselessprog
1 Replies

10. Linux

A little unsure of something

If i want to display a banner that says Happy Bday, but I want to put that output banner into a file called bday4me, could I use the command (echo) or (banner -w35) Happy Bday >> bday4me would this command work? Sorry for asking, but i'm at home just now and don't have access to a UNIX... (3 Replies)
Discussion started by: Cisco
3 Replies
Login or Register to Ask a Question