Cylc scan --name=PATTERN

cylc scan shows:

A-B-1_u me@mach07:XXX91
A-B-2_u me@mach07:XXX78
A-B-3_u me@mach07:XXX95
A-B-4_u me@mach07:XXX62
A-B-5_u me@mach03:XXX15
...
X-Y1 me@mach02:XXX12
X-Y2 me@mach02:XXX22

an option to cylc scan is:

  -n PATTERN, --name=PATTERN
                        List suites with name matching PATTERN (regular
                        expression). Defaults to any name. Can be used
                        multiple times.

various attempts with response shown:

cylc scan --name=X* cylc: No match.
cylc scan --name=“X*”’
cylc scan --name=“X*”’
cylc scan --name=‘X*’
cylc scan --name=[X*] cylc: No match.

i give…
what regular expression is to be used?

Your regular expression doesn’t match the whole name. Try this:

$ cylc scan --name='X.*'
`$ cylc scan --name=‘X+\d\d’

[correction - I didn’t read your post very carefully, saw your X* attempts and assumed that XXX91 etc. were the suite names … but on closer inspection they must be redacted port numbers and you happen to have crossed out numbers with the same character that you want to search for in suite names!]

$ cylc scan --name='X.*'
# or 
$ cylc scan --name='X-Y\d'

Thanks for alerting me to my mistake @wxtim

I find it helpful to try out regular expressions using regex101: build, test, and debug regex.

In this case “X*” means “any number of X”, wheras “X.*” means “X followed by any number of other chars”.

Are you looking to show only?:

X-Y1 me@mach02:XXX12
X-Y2 me@mach02:XXX22

thanks h and wx.
i was globbing.

1 Like