04-22-2008
See above. The backslash is interpreted and removed already by read but you could see if your shell understands read -r
No offense, but this is the third or forth time I try to point this out.
For understanding the egrep output, you need to understand how the backslash and the single and double quotes are interpreted by the shell and by grep.
Without quoting, a single backslash quotes the next character. echo \ is a syntax error (or rather, escapes the newline after the backslash, and gives you a secondary prompt). echo \\ gives a backslash as the argument to echo, which might echo it, or might complain that a lone backslash is a syntax error. (I get the former case.) echo "\" is a syntax error (or rather, the shell waits for the closing double quote; echo "\"" passes a single double quote, inside double quotes; it needs to be escaped so the shell doesn't treat it as the closing double quote) and echo "\\" again passes a single backslash as the argument to echo.
egrep uses backslashes for escaping (like some versions of echo), so you get a second level of backslash interpretation. egrep '\' is a syntax error; to grep for a literal single backslash, use egrep '\\', or (like aju_kup suggested, in double quotes, egrep "\\\\" -- each pair of backslashes is reduced by the shell's backslash parsing to a single backslash, so egrep gets two backslashes -- the first one escapes the second, to search for a literal backslash).
Last edited by era; 04-22-2008 at 08:22 AM..
Reason: quoting and echo discussion
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
I am struggling with the following sample code:
array1=(a b c d)
array2=(* * * *)
print ${array1}
print ${array2}
It returns 'c' and the name of a file in the directory I'm in.
I can't for the life of me work out how to prevent the shell interpreting the '*' and just get it to return... (2 Replies)
Discussion started by: Doug97
2 Replies
2. Shell Programming and Scripting
He guys.
Basically I want to make a script that can add, delete and view stuff in a external file called config.txt. I can open it up in Joe but im not sure how to read in the user input or using commands automatically in joe to edit, save then quit.
Problem area below:
1) echo "Add... (1 Reply)
Discussion started by: Pits
1 Replies
3. UNIX for Dummies Questions & Answers
Hi,
I would like to display the following message from my shell (Korn) script
Copy "old_file.txt" to "new_file.txt"
My code looks as follows
print "Copy "old_file.txt" to "new_file.txt""
However, when I execute the script, I get the following output
Copy old_file.txt to... (6 Replies)
Discussion started by: rogers42
6 Replies
4. Shell Programming and Scripting
Hi Forum.
I've tried to search online for a solution but I cannot seem to find one.
Hopefully, someone here can help me out. I would appreciate it.
Input file abc.txt:
$InputFile_Borrower=CMTSLST\EDW_COMMERCIAL_MTGE_BORROWER_dat.lst... (14 Replies)
Discussion started by: pchang
14 Replies
5. Shell Programming and Scripting
Hey Everyone,
I'm quite new to unix (hence the 0 posts!) and im trying to write a simple program that outputs what the user types in to the screen, as long as it is a letter.
This part works fine, however, when a "\" is entered doesnt not display anything and moves to the next line. Is... (11 Replies)
Discussion started by: ultiron
11 Replies
6. Shell Programming and Scripting
Hi,
I am trying to replace a string in shell but it is not working correctly.
@xcom.file@
needs to be replaced with
tb137
Plz help.Thx.
Please use and tags when posting code, data or logs etc. to preserve formatting and enhance readability, thanks. (4 Replies)
Discussion started by: manish72
4 Replies
7. Shell Programming and Scripting
I made menu script for users so they can run other script without going in shell just from menu.
But i must control their input.
These are criteria:
Input must have 4 signs
First two signs are always lower case letters
Input shall not have some special signs just letters and numbers
... (1 Reply)
Discussion started by: waso
1 Replies
8. Shell Programming and Scripting
i need to replace the any special characters with escape characters like below.
test!=123-> test\!\=123
!@#$%^&*()-= to be replaced by
\!\@\#\$\%\^\&\*\(\)\-\= (8 Replies)
Discussion started by: laknar
8 Replies
9. Shell Programming and Scripting
How to match a shell variable that contains parenthesis (and other special characters like "!")
file.txt contains:
Charles Dickens
Matthew Lewis (writer)
name="Matthew Lewis (writer)";
awk -v na="$name" ' $0 ~ na' file.txt
Ideally this would match $name in file.txt (in this... (3 Replies)
Discussion started by: Mid Ocean
3 Replies
10. Shell Programming and Scripting
Hi All, I am a newbie to Shell scripting. I have a requirement to Delimit the file fields of a Input file having special characters and spaces with ";".
Input File
----------------------------------
Server Port
----------------------------------
Local ... (5 Replies)
Discussion started by: Suganbabu
5 Replies
LEARN ABOUT CENTOS
cpanplus::shell
CPANPLUS::Shell(3) User Contributed Perl Documentation CPANPLUS::Shell(3)
NAME
CPANPLUS::Shell - base class for CPANPLUS shells
SYNOPSIS
use CPANPLUS::Shell; # load the shell indicated by your
# config -- defaults to
# CPANPLUS::Shell::Default
use CPANPLUS::Shell qw[Classic] # load CPANPLUS::Shell::Classic;
my $ui = CPANPLUS::Shell->new();
my $name = $ui->which; # Find out what shell you loaded
$ui->shell; # run the ui shell
DESCRIPTION
This module is the generic loading (and base class) for all "CPANPLUS" shells. Through this module you can load any installed "CPANPLUS"
shell.
Just about all the functionality is provided by the shell that you have loaded, and not by this class (which merely functions as a generic
loading class), so please consult the documentation of your shell of choice.
BUG REPORTS
Please report bugs or other issues to <bug-cpanplus@rt.cpan.org<gt>.
AUTHOR
This module by Jos Boumans <kane@cpan.org>.
COPYRIGHT
The CPAN++ interface (of which this module is a part of) is copyright (c) 2001 - 2007, Jos Boumans <kane@cpan.org>. All rights reserved.
This library is free software; you may redistribute and/or modify it under the same terms as Perl itself.
SEE ALSO
CPANPLUS::Shell::Default, CPANPLUS::Shell::Classic, cpanp
perl v5.16.3 2013-05-20 CPANPLUS::Shell(3)