My question is, "Do I not understand, or is my information out of date?"
I am trying to just be a student, rtfm'ing. I am working on my work systems. Is it simply that the book was printed in 2002 and a lot has changed since then, or did I miss something?
Working in Korn Shell.
I have been reading O'Reilly "Learning the Korn Shell." (Which deals with ksh93)
We have Version M-11/16/88f, not 93.
I was reading about quoting, and the book cited an example using the 'find' command. It states that I need to quote wildcards used in the find command. It also says I need to use "-print" to see the results.
I use the find command a lot. I have neither been quoting/escaping, nor using -print, but I get what I am looking for:
I am not being deliberately thick. I am inclined to assume, "old book, old shell, it works how it works, move on..."
But, I have hamstrung myself in the past by carrying around half-misunderstood concepts. Quoting and regex are things that are fuzzy to me, and I want to get them straight.
Last edited by Scott; 08-16-2013 at 12:56 PM..
Reason: Please use code tags
If you leave a pattern unquoted it will work too, unless there happens to be one or more files in the current directory that match that pattern (the shell will then expand the pattern first), which can lead to surprising results, so it is a good habit to quote those patterns..
Last edited by Scrutinizer; 08-16-2013 at 01:09 PM..
...and sorry about not using the code tag in my post.
---------- Post updated at 11:18 AM ---------- Previous update was at 11:10 AM ----------
Quote:
Originally Posted by Scrutinizer
If you leave a pattern unquoted it will work too, unless there happens to be one or more files in the current directory that match that pattern (the shell will then expand the pattern first), which can lead to surprising results, so it is a good habit to quote those patterns..
My takeaway is to use quotes.
I can also see that I don't understand the difference between the shell expanding the wildcards and the command expanding the wildcards. I'll go back and read again. I'll try some test file names to see how things work.
It means that the shell will expand the pattern and pass the resulting file names as a parameter to find (so find will never "see" a pattern, just the expansion result), which will lead to a syntax error if the result is more than one file and and to the wrong result if it just one file:
A short illustration would be:
Last edited by Scrutinizer; 08-16-2013 at 01:45 PM..
I can also see that I don't understand the difference between the shell expanding the wildcards and the command expanding the wildcards.
When in doubt, see what it does when you feed it into echo. If anything gets changed, it's the shell that's doing it, not echo, because echo is stupid and dumb and translates nothing.
Last edited by Corona688; 08-16-2013 at 06:42 PM..
Food for thought!
"""
Everybody in this country should learn to program a computer...because it teaches you how to think.
"""
Steve Jobs.
So, SO, true!
Merry XMAS all... (4 Replies)
From:
1,2,3,4,5,This is a test
6,7,8,9,0,"This, is a test"
1,9,2,8,3,"This is a ""test"""
4,7,3,1,8,""""
To:
1,2,3,4,5,This is a test
6,7,8,9,0,"This; is a test"
1,9,2,8,3,"This is a ''test''"
4,7,3,1,8,"''"Is there an easy syntax I'm overlooking? There will always be an odd number... (5 Replies)
Hi All ,
We have source data file as csv file and since data could contain commas ,each attribute is quoted into double quotes.However problem is that some of the attributa data also contain double quotes which is converted to double double quote while creating csv file
XLs data :
... (2 Replies)
Can somebody supply me with a simple way to get a value between
two double quotes?
Example:
input = ADR base is "/u01/app/oracle"
output = /u01/app/oracle
Thanks to all who answer (4 Replies)
i want to replace mistaken quotes in line starting with tag 300 and relocate the quote in the correct position so the input is
223;25
224;20100428064823;1;0;0;0;0;0;0;0;8;1;3;9697;18744;;;;;;;;;;;;
300;X;Event:... (3 Replies)
Hi,
I've been trying to write a regex to use in egrep (in a shell script) that'll fetch the names of all the files that match a particular pattern. I expect to match the following line in a file:
Name = "abc"
The regex I'm using to match the same is:
egrep -l '(^) *= *" ** *"$' /PATH_TO_SEARCH... (6 Replies)
The command line bellow works fine by itself.
/opt/csw/bin/rsync -azq --delete -e "ssh -i /.ssh/ss" /home/ me@myaccount.storage.com:/home/
Now I would like to introduce some variable into it and make a .sh file such as bellow and it does not work anymore. I guess the part -e "ssh -i /.ssh/ss" has... (4 Replies)
hey all,
i made a simple .sh like this:
echo "<style media="screen" type="text/css">@import url("main.css");</style>"
but the output is:
<style media=screen type=text/css>@import url(main.css);</style>
i want to keep double-quotes, can anyone help me?
thanks (3 Replies)
I have input file like
RDBMS FALIURE UTY8703 'USER_WORK.TEST' .HIghest return code '12'
I want to parse data which comed between first quote till next quote
USER_WORK.TEST
can you please suggest how to do that (4 Replies)