Title: | Brace Expansions |
Version: | 1.2.2 |
Description: | Performs brace expansions on strings. Made popular by Unix shells, brace expansion allows users to concisely generate certain character vectors by taking a single string and (recursively) expanding the comma-separated lists and double-period-separated integer and character sequences enclosed within braces in that string. The double-period-separated numeric integer expansion also supports padding the resulting numbers with zeros. |
URL: | https://trevorldavis.com/R/bracer/, https://github.com/trevorld/bracer |
BugReports: | https://github.com/trevorld/bracer/issues |
Imports: | stringr |
License: | MIT + file LICENSE |
Encoding: | UTF-8 |
Suggests: | knitr, rmarkdown, testthat, V8 |
VignetteBuilder: | knitr, rmarkdown |
RoxygenNote: | 7.1.1 |
NeedsCompilation: | no |
Packaged: | 2023-03-15 18:09:36 UTC; trevor |
Author: | Trevor L Davis |
Maintainer: | Trevor L Davis <trevor.l.davis@gmail.com> |
Repository: | CRAN |
Date/Publication: | 2023-03-15 23:20:02 UTC |
Bash-style brace expansion
Description
expand_braces
performs brace expansions on strings,
str_expand_braces
is an alternate function that returns a list of character vectors.
Made popular by Unix shells, brace expansion allows users to concisely generate
certain character vectors by taking a single string and (recursively) expanding
the comma-separated lists and double-period-separated integer and character
sequences enclosed within braces in that string.
The double-period-separated numeric integer expansion also supports padding the resulting numbers with zeros.
Usage
expand_braces(string, engine = getOption("bracer.engine", NULL))
str_expand_braces(string, engine = getOption("bracer.engine", NULL))
Arguments
string |
input character vector |
engine |
If |
Value
expand_braces
returns a character vector while
str_expand_braces
returns a list of character vectors.
Examples
expand_braces("Foo{A..F}", engine = "r")
expand_braces("Foo{01..10}", engine = "r")
expand_braces("Foo{A..E..2}{1..5..2}", engine = "r")
expand_braces("Foo{-01..1}", engine = "r")
expand_braces("Foo{{d..d},{bar,biz}}.{py,bash}", engine = "r")
expand_braces(c("Foo{A..F}", "Bar.{py,bash}", "{{Biz}}"), engine = "r")
str_expand_braces(c("Foo{A..F}", "Bar.{py,bash}", "{{Biz}}"), engine = "r")
Brace and Wildcard expansion on file paths
Description
glob
is a wrapper around Sys.glob
that uses
expand_braces
to support both brace and wildcard
expansion on file paths.
Usage
glob(paths, ..., engine = getOption("bracer.engine", NULL))
Arguments
paths |
character vector of patterns for relative or absolute filepaths. |
... |
Passed to |
engine |
If |
Examples
dir <- system.file("R", package="bracer")
path <- file.path(dir, "*.{R,r,S,s}")
glob(path, engine = "r")