bracer
provides support for performing brace expansions on strings in R.
## [1] "FooA" "FooB" "FooC" "FooD" "FooE" "FooF"
## [1] "Foo01" "Foo02" "Foo03" "Foo04" "Foo05" "Foo06" "Foo07" "Foo08"
## [9] "Foo09" "Foo10"
## [1] "FooA1" "FooA3" "FooA5" "FooC1" "FooC3" "FooC5" "FooE1" "FooE3" "FooE5"
## [1] "Foo-01" "Foo000" "Foo001"
## [1] "Food.py" "Food.bash" "Foobar.py" "Foobar.bash" "Foobiz.py"
## [6] "Foobiz.bash"
expand_braces
is vectorized and returns one big character vector of all the brace expansions. str_expand_braces
is an alternative that returns a list of character vectors.
## [1] "FooA" "FooB" "FooC" "FooD" "FooE" "FooF"
## [7] "Bar.py" "Bar.bash" "{{Biz}}"
## [[1]]
## [1] "FooA" "FooB" "FooC" "FooD" "FooE" "FooF"
##
## [[2]]
## [1] "Bar.py" "Bar.bash"
##
## [[3]]
## [1] "{{Biz}}"
glob
is a wrapper around Sys.glob
that uses expand_braces
to support both brace and wildcard expansion on file paths.
## [1] "R/expand.R" "R/glob.R"
To install the release version on CRAN use the following command in R:
To install the developmental version use the following command in R:
bracer
currently does not properly support the “correct” (Bash-style) brace expansion under several edge conditions such as:
{{a,d}
(but you could use an escaped brace instead \\{{a,d}
){'a,b','c'}
(but you could use an escaped comma instead {a\\,b,c}
){a,b\\}c,d}
{a,\\\\{a,b}c}
X{a..#}X