Get information like substring


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Get information like substring
# 8  
Old 02-03-2009
I follow your suggestion

name=$(pgsql -c "select name from teacher")
name=${name% (*}
echo "${name#*- }"

I got
"name"
"------------"
" Mary Lee "
"(1 row)"

Any ideas? Thanks again!!
# 9  
Old 02-03-2009
Quote:
Originally Posted by uativan
I follow your suggestion

name=$(pgsql -c "select name from teacher")
name=${name% (*}
echo "${name#*- }"

I got
"name"
"------------"
" Mary Lee "
"(1 row)"

Then you misinformed us. The result from pgsql was not a single line; each field is on a separate line.

And did you really get those quotes in the output? If not, why are they there? If you did, why didn't you show them in your previous posts?

Code:
LF='
'
name=$(pgsql -c "select name from teacher")
name=${name%$LF(*}
echo "${name#*-$LF}"

# 10  
Old 02-03-2009
Really sorry about the misleading. Since I am not familiar with shell script, I can just tell you what I can see from the screen.

1. Single line
before asking

name=$(pgsql -c "select name from teacher")
echo $name

I can see only a single line display out there.
name ------------ Mary Lee (1 row)

Now I know that it is an array.
name
------------
Mary
Lee
(1
row)

There are no white spaces.

2. "quote"

Because from the screen of
name=$(pgsql -c "select name from teacher")
name=${name% (*}
echo "${name#*- }"

I found some white spaces next to Mary Lee, so want to show you there are some white spaces only.

It should be like that
<<white space>>name
------------
<<white space>>Mary Lee
(1 row)

3. Latest code

LF='
'
name=$(pgsql -c "select name from teacher")
name=${name%$LF(*}
echo "${name#*-$LF}"

------------
<<white space>>Mary Lee
<<blank line>>

Sorry again for the misinformation.
# 11  
Old 02-03-2009
Quote:
Originally Posted by uativan
Really sorry about the misleading. Since I am not familiar with shell script, I can just tell you what I can see from the screen.

1. Single line
before asking

name=$(pgsql -c "select name from teacher")
echo $name

I can see only a single line display out there.
name ------------ Mary Lee (1 row)

Try:

Code:
echo "$name"

Quote:

Now I know that it is an array.

No, it's not. It is a scalar variable containing more than one line.
Quote:

name
------------
Mary
Lee
(1
row)

There are no white spaces.

What command produced that?
Quote:

2. "quote"

Because from the screen of
name=$(pgsql -c "select name from teacher")
name=${name% (*}
echo "${name#*- }"

I found some white spaces next to Mary Lee, so want to show you there are some white spaces only.

It should be like that
&nbsp;name
------------
&nbsp;Mary Lee
(1 row)

3. Latest code

LF='
'
name=$(pgsql -c "select name from teacher")
name=${name%$LF(*}
echo "${name#*-$LF}"

------------
Mary Lee
<<blank line>>

Sorry again for the misinformation.

What is the output from:

Code:
pgsql -c "select name from teacher" | od -c

# 12  
Old 02-03-2009
Quote:
[INDENT]Try:

Code:
echo "$name"

<<white space>>name
-----------
<<white space>>Mary Lee
(1 row)

Quote:
[INDENT]No, it's not. It is a scalar variable containing more than one line.
What command produced that?


for n in $name
do
echo $n
done

Quote:
Quote:
What is the output from:

Code:
pgsql -c "select name from teacher" | od -c

0000000 n a m e \n - - - - -
0000020 - - - - - \n M a r y L e e \n
0000040 ( 1 r o w ) \n \n
0000051

Thanks!
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Substring

Hi, My requirement is to get the substring and then remove special character. Ex I have data like T_SYSTEM_XXXXX_YYYY_ZZZ I want to get XXXXXYYYYZZZ the part after T_SYSTEM is varying it might be XXX_YY or just XX can you tell me which all commands i have to use. i understand i... (5 Replies)
Discussion started by: Mohammed_Tabish
5 Replies

2. Shell Programming and Scripting

Get the substring

Hi All, I have a ouput string likes 'u8wos' or 'u10acsd' or somthing else 'u{number}{any characters}'and I want to get the number behind the letter 'u' by bash shell. Thanks Damon (11 Replies)
Discussion started by: Damon_Qu
11 Replies

3. UNIX for Dummies Questions & Answers

Getting Substring

Hi, I hav a string lets say aa.txt:bb:txt length of the string can vary.. I have to keep the token inside a array and the delimiter is : plz send me the code (2 Replies)
Discussion started by: Deekay.p
2 Replies

4. Shell Programming and Scripting

substring

I have a string '<Hi>abc</Hi>" How to print "abc" (6 Replies)
Discussion started by: sandy1028
6 Replies

5. UNIX for Dummies Questions & Answers

Substring

Hi I use the below cmd to get the list of files that are modified than <temp> file in the <path> diretory cmd:find <path> -name '*.zip' -type f -newer <temp> -print i am getting all the list of files that are new or modified, with abs path, i want to copy all of these files to a... (3 Replies)
Discussion started by: Naveen_5960
3 Replies

6. UNIX for Dummies Questions & Answers

Need help with substring

I need to check the occurrence of one string within another. code ******************** if ;then do something done ******************** Thanks (7 Replies)
Discussion started by: w020637
7 Replies

7. UNIX for Dummies Questions & Answers

substring

Hi, I have a value of a filepath in a variable DATAFILE with value as "customtop/gpsore37/gepspo/1.0/bin/ashoka.csv ". Now i want the value of last 4 charcters in to another variable. That is EXTENSION = .csv How can i do this in Shell scripting Thanks in advance Alla Kishore (8 Replies)
Discussion started by: alla.kishore
8 Replies

8. Shell Programming and Scripting

how to get substring

i have a strings abc-def.csv ghi-jkl.csv i want to make it as abc-*-def.xyz ghi-*-jkl.xyz How to do it?. (5 Replies)
Discussion started by: senthilk615
5 Replies

9. Shell Programming and Scripting

Getting a substring

This is probably pretty simple butI'm not sure how to best go about it. If I have FILE="myBigLongFileName_1.xls" FILE_PREFIX=`echo $FILE| cut -d"." -f1` # that gives "myBigLongFileName_1" All i want to do now is chop the "_1" from the end of $FILE_PREFIX Any ideas anyone? (3 Replies)
Discussion started by: djkane
3 Replies

10. Shell Programming and Scripting

getting a substring

Hi, I have several lines like this ones: 123456789abcde /aa/bb/123456_$data.log 123456789abcde /aa/bb/123456_not_a_data_log 987654321ab /aa/bb/xpto123456_$data.log ... How do I get into a variable the value "/aa/bb/123456_$data.log" , searching only for the beggining and ending... (3 Replies)
Discussion started by: Scarlos
3 Replies
Login or Register to Ask a Question