Visit Our UNIX and Linux User Community


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?
# 1  
Old 10-17-2009
Question How to test if part of a string matches?

How to test if the first 7 characters of a string matches "backup."?

This did not work:
Code:
#!/bin/sh
name="backup.20091122"
if [ "${$name | cut -c 1-7}" = "backup." ]
then
    echo name is a backup
else
    echo name is not a backup
fi

Thank you.
# 2  
Old 10-17-2009
Quote:
Originally Posted by wolfv
Code:
if [ "${$name | cut -c 1-7}" = "backup." ]

Code:
if [ "$( echo $name | cut -c 1-7 )" = "backup." ]

# 3  
Old 10-17-2009
Code:
if [ "${name%.*}." = "backup." ]

# 4  
Old 10-17-2009
Code:
[[ $name == @(backup[\.])* ]] && echo yes 
yes



---------- Post updated at 12:44 PM ---------- Previous update was at 12:40 PM ----------

Code:
[[ $name == @(backup[\.][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]) ]] && echo yes
yes

If you want the date as well
# 5  
Old 10-17-2009
works in either bash or ksh93
Code:
name=backup.12345678
[[ ${name:0:7} == backup. ]] && echo "yes"

# 6  
Old 10-17-2009
Code:
# name=backup.12345678
# case $name in backup* ) echo "yes";; esac

# 7  
Old 10-17-2009
Question

Thank you for the wide range of solutions. But what shell are you using? I am using borne shell.

---------- Post updated at 02:08 PM ---------- Previous update was at 01:48 PM ----------

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

Where can I learn more about the "%.*" syntax? Or what key words can I google to read about the syntax?

Thank you.

Previous Thread | Next Thread
Test Your Knowledge in Computers #189
Difficulty: Easy
The boolean data type in Python is immutable.
True or False?

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

Featured Tech Videos