How to test if part of a string matches?


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting How to test if part of a string matches?
# 8  
Old 10-17-2009
Quote:
Originally Posted by wolfv
Or what key words can I google to read about the syntax?
parameter expansion (bash/ksh/sh)
# 9  
Old 10-17-2009
Quote:
Originally Posted by wolfv
Thank you for the wide range of solutions. But what shell are you using? I am using borne shell.
Hi wolfv, probably your system does not use the classic Bourne Shell anymore. Most systems now have a /bin/sh that is Posix compliant with several enhancements, one of which is pattern-matching operators (a kind of parameter expansion).
# 10  
Old 10-17-2009
Question

Quote:
Originally Posted by Scrutinizer
Hi wolfv, probably your system does not use the classic Bourne Shell anymore. Most systems now have a /bin/sh that is Posix compliant with several enhancements, one of which is pattern-matching operators (a kind of parameter expansion).
Hi Scrutinizer. I am new at unix/linux. I am using sh on Ubuntu. What is the name of the sh shell?

Thank you.
# 11  
Old 10-17-2009
Hi wolfv,

It is called dash (Debian Almquist shell).

S.

Last edited by Scrutinizer; 10-17-2009 at 07:12 PM..
# 12  
Old 10-17-2009
Question

Quote:
Originally Posted by Scrutinizer
Code:
if [ "${name%.*}." = "backup." ]

Hi Scrutinzer,
I am running dash. What is the "%" for?
# 13  
Old 10-18-2009
Quote:
Originally Posted by wolfv
Hi Scrutinzer,
I am running dash. What is the "%" for?
That was answered earlier in the thread:
https://www.unix.com/shell-programmin...#post302362779

Like bash and ksh, dash is a POSIX shell.
# 14  
Old 10-18-2009
Hi wolfv, % means remove smallest suffix pattern. In this case the suffix pattern is ".*" , which means a dot followed by any amount characters. In other words, chop off the dot and any trailing characters at the end. See here.

Last edited by Scrutinizer; 10-18-2009 at 02:01 AM..
Login or Register to Ask a Question

Previous Thread | Next Thread

9 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Replace string of a file with a string of another file for matches using grep,sed,awk

I have a file comp.pkglist which mention package version and release . In 'version change' and 'release change' line there are two versions 'old' and 'new' Version Change: --> Release Change: --> cat comp.pkglist Package list: nss-util-devel-3.28.4-1.el6_9.x86_64 Version Change: 3.28.4 -->... (1 Reply)
Discussion started by: Paras Pandey
1 Replies

2. Shell Programming and Scripting

Display text is string matches below.

I have not idea how I would accomplish this. I have a script that scans for CDP neighbours. I get the results in a file. I am interested in CDP Neighbor Details if name BSWITCH shows up. If BSWITCH is not present then skip. CDP Neighbor Details for 10.200.21.1... (1 Reply)
Discussion started by: mrlayance
1 Replies

3. UNIX for Dummies Questions & Answers

Print only '+' or '-' if string matches (two files)

I would like to add two additional conditions to the actual code I have: print '+' if in File2 field 5 is greater than 35 and also field 7 is grater than 90. while read -r line do grep -q "$line" File2.txt && echo "$line +" || echo "$line -" done < File1.txt ' Input file 1: ... (5 Replies)
Discussion started by: bernardo.bello
5 Replies

4. Shell Programming and Scripting

How to check weather a string is like test* or test* ot *test* in if condition

How to check weather a string is like test* or test* ot *test* in if condition (5 Replies)
Discussion started by: johnjerome
5 Replies

5. Shell Programming and Scripting

Get line number when matches a string

If I have a file something like as shown below, ARM*187878*hjhj BAG*88778*jjjj COD*7777*kkkk BAG*87878*kjjhjk DEF*65656*89989*khjkk I need the line numbers to be added with a colon when it matches the string "BAG". Here in my case, I need something like ARM*187878*hjhj... (4 Replies)
Discussion started by: Muthuraj K
4 Replies

6. Shell Programming and Scripting

Test on string containing spacewhile test 1 -eq 1 do read a $a if test $a = quitC then break fi d

This is the code: while test 1 -eq 1 do read a $a if test $a = stop then break fi done I read a command on every loop an execute it. I check if the string equals the word stop to end the loop,but it say that I gave too many arguments to test. For example echo hello. Now the... (1 Reply)
Discussion started by: Max89
1 Replies

7. Shell Programming and Scripting

Replace Entire line if any part matches regexp

Hey guys, I have a file that I've slowly been awking, seding, and greping for data entry. I am down to pull the addresses out to insert them into an excel file. Each address is a few lines, but i want to put a semicolon delimiter in between each address so I can export the text file into excel and... (6 Replies)
Discussion started by: Cocoabean
6 Replies

8. Shell Programming and Scripting

creating folder when the string matches

hi :confused:sorry last time , b4 im drafting the thread i was unexpectedly posted the thread see here is the program wat it will do is .. i have to create folder at the run time when the string matches ... what to do is im havin text file which carry the file name like ( EngCVer1pg1j01.TOP,... (2 Replies)
Discussion started by: maximas
2 Replies

9. Shell Programming and Scripting

to create foder when the string matches

hi :) im actually new to shell script ,see here is the program wat it will do is .. i have to create folder at the run time when the string matches ... what to do is im havin text file which carry the file name like ( EngCVer1pg1j01.TOP, EngCVer1pg1m08.TOP, EngCVer1pg1h04,..and... (1 Reply)
Discussion started by: maximas
1 Replies
Login or Register to Ask a Question

Featured Tech Videos