All Projects → kthompson → Glob

kthompson / Glob

Licence: mit
A C# Glob library for .NET and .NET Core.

Projects that are alternatives of or similar to Glob

Grandnode
Open source, headless, multi-tenant eCommerce platform built with .NET Core, MongoDB, AWS DocumentDB, Azure CosmosDB, Vue.js.
Stars: ✭ 1,768 (+1145.07%)
Mutual labels:  dotnet-core
Wopihost
ASP.NET Core MVC implementation of the WOPI protocol. Enables integration with WOPI clients such as Office Online Server.
Stars: ✭ 132 (-7.04%)
Mutual labels:  dotnet-core
Efcore Fluentstoredprocedure
EFCore Extension that allows a means to map a stored procedure to a class, fluently.
Stars: ✭ 138 (-2.82%)
Mutual labels:  dotnet-core
Fluentmediator
🔀 FluentMediator is an unobtrusive library that allows developers to build custom pipelines for Commands, Queries and Events.
Stars: ✭ 128 (-9.86%)
Mutual labels:  dotnet-core
Sshdeploy
A command-line tool that enables quick build and run deployments over SSH.
Stars: ✭ 131 (-7.75%)
Mutual labels:  dotnet-core
Dotnetlabs
.NET Labs -- Show Me the Tips and Tricks and Code
Stars: ✭ 135 (-4.93%)
Mutual labels:  dotnet-core
Etl.net
Mass processing data with a complete ETL for .net developers
Stars: ✭ 129 (-9.15%)
Mutual labels:  dotnet-core
Micromatch
Contributing Pull requests and stars are always welcome. For bugs and feature requests, please create an issue. Please read the contributing guide for advice on opening issues, pull requests, and coding standards.
Stars: ✭ 1,979 (+1293.66%)
Mutual labels:  glob
Rawcms
RawCMS is the headless CMS written in asp.net core build for developers that embraces API first technology. Please give us a feedback!
Stars: ✭ 132 (-7.04%)
Mutual labels:  dotnet-core
Nlayerappv3
Domain Driven Design (DDD) N-LayeredArchitecture with .Net Core 2
Stars: ✭ 138 (-2.82%)
Mutual labels:  dotnet-core
Eventflow.example
DDD+CQRS+Event-sourcing examples using EventFlow following CQRS-ES architecture. It is configured with RabbitMQ, MongoDB(Snapshot store), PostgreSQL(Read store), EventStore(GES). It's targeted to .Net Core 2.2 and include docker compose file.
Stars: ✭ 131 (-7.75%)
Mutual labels:  dotnet-core
Globby
User-friendly glob matching
Stars: ✭ 1,864 (+1212.68%)
Mutual labels:  glob
Coolstore Microservices
A full-stack .NET microservices build on Dapr and Tye
Stars: ✭ 1,903 (+1240.14%)
Mutual labels:  dotnet-core
Spark
.NET for Apache® Spark™ makes Apache Spark™ easily accessible to .NET developers.
Stars: ✭ 1,721 (+1111.97%)
Mutual labels:  dotnet-core
Entityframeworkcore.cacheable
EntityFrameworkCore second level cache
Stars: ✭ 138 (-2.82%)
Mutual labels:  dotnet-core
Commandlineutils
Command line parsing and utilities for .NET
Stars: ✭ 1,782 (+1154.93%)
Mutual labels:  dotnet-core
Braces
Faster brace expansion for node.js. Besides being faster, braces is not subject to DoS attacks like minimatch, is more accurate, and has more complete support for Bash 4.3.
Stars: ✭ 133 (-6.34%)
Mutual labels:  glob
Coravel
Near-zero config .NET Core micro-framework that makes advanced application features like Task Scheduling, Caching, Queuing, Event Broadcasting, and more a breeze!
Stars: ✭ 1,989 (+1300.7%)
Mutual labels:  dotnet-core
Orleans.clustering.kubernetes
Orleans Membership provider for Kubernetes
Stars: ✭ 140 (-1.41%)
Mutual labels:  dotnet-core
Graphiql Dotnet
GraphiQL middleware for ASP.NET Core
Stars: ✭ 138 (-2.82%)
Mutual labels:  dotnet-core

Glob

Join the chat at https://gitter.im/kthompson/glob Build status Coverage Tests Nuget

A C# Glob library for .NET and .NET Core.

What is a glob?

A glob is a pattern-matching syntax that shells use. Like when you do rm *.cs, the *.cs is a glob.

See: http://en.wikipedia.org/wiki/Glob_(programming) for more info.

Supported Environments

  • Windows
  • Macintosh OS X (Darwin)
  • Linux

Supported Pattern expressions

Pattern Description
* matches any number of characters including none, excluding directory seperator
? matches a single character
[abc] matches one character in the brackets
[!abc] matches any character not in the brackets
** match zero or more directories
{abc,123} comma delimited set of literals, matched 'abc' or '123'

Usage

Example

var glob = new Glob("**/bin");
var match = glob.IsMatch(@"C:\files\bin\");

Static Usage

Single file

var match = Glob.IsMatch(@"C:\files\bin\", "**/bin");	

Files in a directory

string[] matchingFiles = Glob.Files(@"C:\files\bin\", "**/bin").ToArray();	

Directories in a directory

string[] matchingDirectories = Glob.Directories(@"C:\files\bin\", "**/bin").ToArray();	

Extension Methods

DirectoryInfo.GlobDirectories

Enumerate through all matching directories recursively.

Params

  • pattern: String

Example

var root = new DirectoryInfo(@"C:\");
var allBinFolders = root.GlobDirectories("**/bin");

DirectoryInfo.GlobFiles

Enumerate through all matching files recursively.

Params

  • pattern: String

Example

var root = new DirectoryInfo(@"C:\");
var allDllFiles = root.GlobFiles("**/*.dll");

DirectoryInfo.GlobFileSystemInfos

Enumerate through all matching files and folders recursively.

Params

  • pattern: String

Example

var root = new DirectoryInfo(@"C:\");
var allInfoFilesAndFolders = root.GlobFileSystemInfos("**/*info");

Performance

See benchmarks

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].