What does // do ? string//string ??


Login or Register for Dates, Times and to Reply

 
Thread Tools Search this Thread
# 1  
What does // do ? string//string ??

Hi,

Real easy question here, I think, just really hard to google this one.

What does the // do?
What is happening below:
Code:
if [ "${stringone//$stringtwo}" = "$stringone" ]
then
echo " ... "
else
echo " ...."
stringone=${stringthree//stringtwo}
fi

Thanks again people!

Last edited by rorey_breaker; 09-26-2007 at 08:11 AM..
# 2  
From the man page of bash:
Quote:
${parameter//pattern/string}
The pattern is expanded to produce a pattern just as in
pathname expansion. Parameter is expanded and the
longest match of pattern against its value is replaced
with string. In the first form, only the first match
is replaced. The second form causes all matches of
pattern to be replaced with string. If pattern begins
with #, it must match at the beginning of the expanded
value of parameter. If pattern begins with %, it must
match at the end of the expanded value of parameter.
If string is null, matches of pattern are deleted and
the / following pattern may be omitted. If parameter
is @ or *, the substitution operation is applied to
each positional parameter in turn, and the expansion is
the resultant list. If parameter is an array variable
subscripted with @ or *, the substitution operation is
applied to each member of the array in turn, and the
expansion is the resultant list.
I didn't get what this means though... trying to figure that out.

-edit

Ah, got it. This checks if the 'pattern' after being expanded in the same way as pathname expansion, is a substring of 'parameter'. If it is, you can replace it with 'string'. In your case, 'string' doesn't exist, so it will be replaced with nothing. If 'pattern' isn't a substring of 'parameter', then no just 'parameter' is the result. So what the if conditional is checking is whether stringtwo is a substring of stringone. If it is, the resultant expansion will not match with stringone.

Last edited by blowtorch; 09-26-2007 at 08:41 AM..
# 3  
Thanks very much.

Last edited by rorey_breaker; 10-23-2007 at 05:37 PM..
# 4  
Post the code once you're done. Most people here would get a kick out of playing it.
# 5  
Thank you.

12345678910

Last edited by rorey_breaker; 10-19-2007 at 06:37 AM..
# 6  
Quote:
Originally Posted by rorey_breaker
Thanks very much, I am trying to write hangman in bash. And attemping to use the // to see if the player guess is in the secret word.

Use a case statement:
Code:
read -n1 letter
case $word in
 *"$letter"* ) echo YES ;;
 *) echo NO ;;
esac

Login or Register for Dates, Times and to Reply

Previous Thread | Next Thread
Thread Tools Search this Thread
Search this Thread:
Advanced Search

Test Your Knowledge in Computers #955
Difficulty: Medium
Modern antivirus programs cannot detect virus-patterns inside ordinary programs by scanning them for so-called virus signatures.
True or False?

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

awk Associative Array and/or Referring to Field by String (Nonconstant String Value)

I will start with an example of what I'm trying to do and then describe how I am approaching the issue. File PS028,005 Lexeme HRS # M # PhraseType 1(1:1) 7(7) PhraseLab 501 503 ClauseType ZYq0 PS028,005 Lexeme W # L> # BNH # M #... (17 Replies)
Discussion started by: jvoot
17 Replies

2. UNIX for Beginners Questions & Answers

Search a string and display its location on the entire string and make a text file

I want to search a small string in a large string and find the locations of the string. For this I used grep "string" -ob <file name where the large string is stored>. Now this gives me the locations of that string. Now how do I store these locations in a text file. Please use CODE tags as... (7 Replies)
Discussion started by: ANKIT ROY
7 Replies

3. Shell Programming and Scripting

awk string comparison unterminated quoted string andrule of thumb

I have the logic below to look up for matches within the columns between the two files with awk. In the if statement is where the string comparison is attempted with == The issue seems to be with the operands, as 1. when " '${SECTOR}' " -- double quote followed by single quote -- awk matches... (1 Reply)
Discussion started by: deadyetagain
1 Replies

4. Shell Programming and Scripting

Search a string in a text file and add another string at the end of line

Dear All I am having a text file which is having more than 200 lines. EX: 001010122 12000 BIB 12000 11200 1200003 001010122 2000 AND 12000 11200 1200003 001010122 12000 KVB 12000 11200 1200003 In the above file i want to search for string KVB... (5 Replies)
Discussion started by: suryanarayana
5 Replies

5. Shell Programming and Scripting

Remove lines between the start string and end string including start and end string Python

Hi, I am trying to remove lines once a string is found till another string is found including the start string and end string. I want to basically grab all the lines starting with color (closing bracket). PS: The line after the closing bracket for color could be anything (currently 'more').... (1 Reply)
Discussion started by: Dabheeruz
1 Replies

6. Shell Programming and Scripting

grep exact string from files and write to filename when string present in file

I am attempting to grep an exact string from a series of files within a directory and append that output to the filename when it is present in the file. I've been after this all day with no luck. Thanks for your help in advance :wall:. (4 Replies)
Discussion started by: JC_1
4 Replies

7. Shell Programming and Scripting

sed or awk command to replace a string pattern with another string based on position of this string

here is what i want to achieve... consider a file contains below contents. the file size is large about 60mb cat dump.sql INSERT INTO `table1` (`id`, `action`, `date`, `descrip`, `lastModified`) VALUES (1,'Change','2011-05-05 00:00:00','Account Updated','2012-02-10... (10 Replies)
Discussion started by: vivek d r
10 Replies

8. UNIX for Dummies Questions & Answers

Comparing a String variable with a string literal in a Debian shell script

Hi All, I am trying to to compare a string variable with a string literal inside a loop but keep getting the ./testifstructure.sh: line 6: #!/bin/sh BOOK_LIST="BOOK1 BOOK2" for BOOK in ${BOOK_LIST} do if then echo '1' else echo '2' fi done Please use next... (1 Reply)
Discussion started by: daveu7
1 Replies

9. Shell Programming and Scripting

to extract string from main string and string comparison

continuing from my previous post, whose link is given below as a reference https://www.unix.com/shell-programming-scripting/171076-shell-scripting.html#post302573569 consider there is create table commands in a file for eg: CREATE TABLE `Blahblahblah` ( `id` int(11) NOT NULL... (2 Replies)
Discussion started by: vivek d r
2 Replies

10. Shell Programming and Scripting

replace (sed?) a string in file with multiple lines (string) from variable

Can someone tell me how I can do this? e.g: a=$(echo -e wert trewt ertert ertert ertert erttert erterte rterter tertertert ert) How do i replace the STRING with $a? I try this: sed -i 's/STRING/'"$a"'/g' filename.ext but this don' t work (2 Replies)
Discussion started by: jforce
2 Replies

Featured Tech Videos