Engage with Zorp!
This morning at dawn, you will take a new form - that of a fleshless, chattering skeleton when Zorp the Surveyor arrives and burns your flesh off with his volcano mouth ~Lou Prozotovich
OrganizeIt2
is a python library for managing large numbers of files and directories. It is type- and configuration-driven with pydantic.
The name is because organizeit
was taken on pypi, and is thus a reference to the joke from Parks and Rec.
OrganizeIt2
has the following models and types:
FileSystem
:pydantic
wrapper of anfsspec
AbstractFileSystem
Path
: wrapper of anfsspec
pathFilePath
: specialization of aPath
for filesDirectoryPath
: specialization of aPath
for directoriesOrganizeIt
: Top-levelpydantic
model representiing anfsspec
directoryDirectory
:pydantic
model representing anfsspec
directoryFile
:pydantic
model representing anfsspec
file
There are two main commands: match
and rematch
, which perform glob-based matching and regex-based matching respectively.
> organizeit match --help
Usage: organizeit match [OPTIONS] DIRECTORY PATTERN
╭─ Arguments ──────────────────────────────────────────────────────────────────────────╮
│ * directory TEXT [required] │
│ * pattern TEXT [required] │
╰──────────────────────────────────────────────────────────────────────────────────────╯
╭─ Options ────────────────────────────────────────────────────────────────────────────╮
│ --list -l --no-list -L [default: no-list] │
│ --name-only -n --no-name-only -N [default: name-only] │
│ --invert -i --no-invert -I [default: no-invert] │
│ --size -s --no-size -S [default: no-size] │
│ --modified -m --no-modified -M [default: no-modified] │
│ --limit INTEGER │
│ --leaves INTEGER │
│ --by TEXT │
│ --desc │
│ --block-size INTEGER [default: 0] │
│ --op [rm|touch] │
│ --dry-run -d --no-dry-run -D [default: no-dry-run] │
│ --ignore-errors --no-ignore-errors [default: no-ignore-errors] │
│ --retries INTEGER [default: 1] │
│ --help Show this message and exit. │
╰──────────────────────────────────────────────────────────────────────────────────────╯
> organizeit rematch --help
Usage: organizeit rematch [OPTIONS] DIRECTORY PATTERN
╭─ Arguments ──────────────────────────────────────────────────────────────────────────╮
│ * directory TEXT [required] │
│ * pattern TEXT [required] │
╰──────────────────────────────────────────────────────────────────────────────────────╯
╭─ Options ────────────────────────────────────────────────────────────────────────────╮
│ --list -l --no-list -L [default: no-list] │
│ --name-only -n --no-name-only -N [default: name-only] │
│ --invert -i --no-invert -I [default: no-invert] │
│ --size -s --no-size -S [default: no-size] │
│ --modified -m --no-modified -M [default: no-modified] │
│ --limit INTEGER │
│ --leaves INTEGER │
│ --by TEXT │
│ --desc │
│ --block-size INTEGER [default: 0] │
│ --op [rm|touch] │
│ --dry-run -d --no-dry-run -D [default: no-dry-run] │
│ --ignore-errors --no-ignore-errors [default: no-ignore-errors] │
│ --retries INTEGER [default: 1] │
│ --help Show this message and exit. │
╰──────────────────────────────────────────────────────────────────────────────────────╯
Here are some example commands and outputs, based on the test suite
> find organizeit2/tests/directory
.
organizeit2/tests/directory
organizeit2/tests/directory/subdir1
organizeit2/tests/directory/subdir1/file1.md
organizeit2/tests/directory/subdir1/file1.png
organizeit2/tests/directory/subdir1/file2.png
organizeit2/tests/directory/subdir1/file2.txt
organizeit2/tests/directory/subdir1/file2.md
organizeit2/tests/directory/subdir1/subsubdir1
organizeit2/tests/directory/subdir1/subsubdir1/file1
organizeit2/tests/directory/subdir1/subsubdir1/file1.md
organizeit2/tests/directory/subdir1/subsubdir1/file1.png
organizeit2/tests/directory/subdir1/subsubdir1/file1.txt
organizeit2/tests/directory/subdir1/subsubdir1/file2
organizeit2/tests/directory/subdir1/subsubdir1/file2.md
organizeit2/tests/directory/subdir1/subsubdir1/file2.png
organizeit2/tests/directory/subdir1/subsubdir1/file2.txt
organizeit2/tests/directory/subdir1/subsubdir2
organizeit2/tests/directory/subdir1/subsubdir2/file1
organizeit2/tests/directory/subdir1/subsubdir2/file1.md
organizeit2/tests/directory/subdir1/subsubdir2/file1.png
organizeit2/tests/directory/subdir1/subsubdir2/file1.txt
organizeit2/tests/directory/subdir1/subsubdir2/file2
organizeit2/tests/directory/subdir1/subsubdir2/file2.md
organizeit2/tests/directory/subdir1/subsubdir2/file2.png
organizeit2/tests/directory/subdir1/subsubdir2/file2.txt
organizeit2/tests/directory/subdir2
organizeit2/tests/directory/subdir2/file1.md
organizeit2/tests/directory/subdir2/file1.png
organizeit2/tests/directory/subdir2/file2.png
organizeit2/tests/directory/subdir2/file2.txt
organizeit2/tests/directory/subdir2/file2.md
organizeit2/tests/directory/subdir2/subsubdir1
organizeit2/tests/directory/subdir2/subsubdir1/file1
organizeit2/tests/directory/subdir2/subsubdir1/file1.md
organizeit2/tests/directory/subdir2/subsubdir1/file1.png
organizeit2/tests/directory/subdir2/subsubdir1/file1.txt
organizeit2/tests/directory/subdir2/subsubdir1/file2
organizeit2/tests/directory/subdir2/subsubdir1/file2.md
organizeit2/tests/directory/subdir2/subsubdir1/file2.png
organizeit2/tests/directory/subdir2/subsubdir1/file2.txt
organizeit2/tests/directory/subdir2/subsubdir2
organizeit2/tests/directory/subdir2/subsubdir2/file1
organizeit2/tests/directory/subdir2/subsubdir2/file1.md
organizeit2/tests/directory/subdir2/subsubdir2/file1.png
organizeit2/tests/directory/subdir2/subsubdir2/file1.txt
organizeit2/tests/directory/subdir2/subsubdir2/file2
organizeit2/tests/directory/subdir2/subsubdir2/file2.md
organizeit2/tests/directory/subdir2/subsubdir2/file2.png
organizeit2/tests/directory/subdir2/subsubdir2/file2.txt
organizeit2/tests/directory/subdir3
organizeit2/tests/directory/subdir3/file1.md
organizeit2/tests/directory/subdir3/file1.png
organizeit2/tests/directory/subdir3/file2.png
organizeit2/tests/directory/subdir3/file2.txt
organizeit2/tests/directory/subdir3/file2.md
organizeit2/tests/directory/subdir3/subsubdir1
organizeit2/tests/directory/subdir3/subsubdir1/file1
organizeit2/tests/directory/subdir3/subsubdir1/file1.md
organizeit2/tests/directory/subdir3/subsubdir1/file1.png
organizeit2/tests/directory/subdir3/subsubdir1/file1.txt
organizeit2/tests/directory/subdir3/subsubdir1/file2
organizeit2/tests/directory/subdir3/subsubdir1/file2.md
organizeit2/tests/directory/subdir3/subsubdir1/file2.png
organizeit2/tests/directory/subdir3/subsubdir1/file2.txt
organizeit2/tests/directory/subdir3/subsubdir2
organizeit2/tests/directory/subdir3/subsubdir2/file1
organizeit2/tests/directory/subdir3/subsubdir2/file1.md
organizeit2/tests/directory/subdir3/subsubdir2/file1.png
organizeit2/tests/directory/subdir3/subsubdir2/file1.txt
organizeit2/tests/directory/subdir3/subsubdir2/file2
organizeit2/tests/directory/subdir3/subsubdir2/file2.md
organizeit2/tests/directory/subdir3/subsubdir2/file2.png
organizeit2/tests/directory/subdir3/subsubdir2/file2.txt
organizeit2/tests/directory/subdir4
organizeit2/tests/directory/subdir4/file1.md
organizeit2/tests/directory/subdir4/file1.png
organizeit2/tests/directory/subdir4/file2.png
organizeit2/tests/directory/subdir4/file2.txt
organizeit2/tests/directory/subdir4/file2.md
organizeit2/tests/directory/subdir4/subsubdir1
organizeit2/tests/directory/subdir4/subsubdir1/file1
organizeit2/tests/directory/subdir4/subsubdir1/file1.md
organizeit2/tests/directory/subdir4/subsubdir1/file1.png
organizeit2/tests/directory/subdir4/subsubdir1/file1.txt
organizeit2/tests/directory/subdir4/subsubdir1/file2
organizeit2/tests/directory/subdir4/subsubdir1/file2.md
organizeit2/tests/directory/subdir4/subsubdir1/file2.png
organizeit2/tests/directory/subdir4/subsubdir1/file2.txt
organizeit2/tests/directory/subdir4/subsubdir2
organizeit2/tests/directory/subdir4/subsubdir2/file1
organizeit2/tests/directory/subdir4/subsubdir2/file1.md
organizeit2/tests/directory/subdir4/subsubdir2/file1.png
organizeit2/tests/directory/subdir4/subsubdir2/file1.txt
organizeit2/tests/directory/subdir4/subsubdir2/file2
organizeit2/tests/directory/subdir4/subsubdir2/file2.md
organizeit2/tests/directory/subdir4/subsubdir2/file2.png
organizeit2/tests/directory/subdir4/subsubdir2/file2.txt
organizeit match file://organizeit2/tests/directory/ "directory*"
echo $?
Unmatched
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Path ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩
│ file://organizeit2/organizeit2/tests/directory/subdir2 │
│ file://organizeit2/organizeit2/tests/directory/subdir4 │
│ file://organizeit2/organizeit2/tests/directory/subdir3 │
│ file://organizeit2/organizeit2/tests/directory/subdir1 │
└────────────────────────────────────────────────────────┘
1
organizeit match file://organizeit2/tests/directory/ "directory*" --invert
echo $?
All matched
0
organizeit match file://organizeit2/tests/directory/ "directory" --no-name-only
echo $?
Unmatched
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Path ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩
│ file://organizeit2/organizeit2/tests/directory/subdir3 │
│ file://organizeit2/organizeit2/tests/directory/subdir1 │
│ file://organizeit2/organizeit2/tests/directory/subdir2 │
│ file://organizeit2/organizeit2/tests/directory/subdir4 │
└────────────────────────────────────────────────────────┘
1
organizeit match file://organizeit2/tests/directory/ "directory" --no-name-only --invert
echo $?
All matched
0
organizeit match file://organizeit2/tests/directory/ "*organizeit2*directory" --no-name-only
echo $?
Unmatched
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Path ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩
│ file://organizeit2/organizeit2/tests/directory/subdir3 │
│ file://organizeit2/organizeit2/tests/directory/subdir4 │
│ file://organizeit2/organizeit2/tests/directory/subdir2 │
│ file://organizeit2/organizeit2/tests/directory/subdir1 │
└────────────────────────────────────────────────────────┘
1
organizeit match file://organizeit2/tests/directory/ "*organizeit2*directory" --no-name-only --invert
echo $?
All matched
0
organizeit match file://organizeit2/tests/directory/ "subdir*"
echo $?
All matched
0
organizeit match file://organizeit2/tests/directory/ "dir*"
echo $?
Unmatched
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Path ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩
│ file://organizeit2/organizeit2/tests/directory/subdir3 │
│ file://organizeit2/organizeit2/tests/directory/subdir1 │
│ file://organizeit2/organizeit2/tests/directory/subdir2 │
│ file://organizeit2/organizeit2/tests/directory/subdir4 │
└────────────────────────────────────────────────────────┘
1
organizeit match file://organizeit2/tests/directory/ "subdir*" --list --invert
echo $?
organizeit2/organizeit2/tests/directory/subdir2
organizeit2/organizeit2/tests/directory/subdir4
organizeit2/organizeit2/tests/directory/subdir1
organizeit2/organizeit2/tests/directory/subdir3
1
organizeit rematch file://organizeit2/tests/directory/ "directory"
echo $?
Unmatched
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Path ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩
│ file://organizeit2/organizeit2/tests/directory/subdir2 │
│ file://organizeit2/organizeit2/tests/directory/subdir3 │
│ file://organizeit2/organizeit2/tests/directory/subdir1 │
│ file://organizeit2/organizeit2/tests/directory/subdir4 │
└────────────────────────────────────────────────────────┘
1
organizeit rematch file://organizeit2/tests/directory/ "directory" --invert
echo $?
All matched
0
organizeit rematch file://organizeit2/tests/directory/ "directory" --no-name-only
echo $?
Unmatched
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Path ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩
│ file://organizeit2/organizeit2/tests/directory/subdir2 │
│ file://organizeit2/organizeit2/tests/directory/subdir3 │
│ file://organizeit2/organizeit2/tests/directory/subdir1 │
│ file://organizeit2/organizeit2/tests/directory/subdir4 │
└────────────────────────────────────────────────────────┘
1
organizeit rematch file://organizeit2/tests/directory/ "directory" --no-name-only --invert
echo $?
All matched
0
organizeit rematch file://organizeit2/tests/directory/ "file://[a-zA-Z0-9/]*" --no-name-only
echo $?
All matched
0
organizeit rematch file://organizeit2/tests/directory/ "subdir[0-9]+"
echo $?
All matched
0
organizeit rematch file://organizeit2/tests/directory/ "subdir[0-3]+"
echo $?
Unmatched
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Path ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩
│ file://organizeit2/organizeit2/tests/directory/subdir4 │
└────────────────────────────────────────────────────────┘
1
organizeit rematch file://organizeit2/tests/directory/ "subdir*" --list --invert
echo $?
organizeit2/organizeit2/tests/directory/subdir4
organizeit2/organizeit2/tests/directory/subdir1
organizeit2/organizeit2/tests/directory/subdir3
organizeit2/organizeit2/tests/directory/subdir2
1
organizeit match file://organizeit2/tests/directory/subdir1/ "*" --list --limit=2 --leaves=7 --invert --by="age"
echo $?
organizeit2/organizeit2/tests/directory/subdir1/file2.png
organizeit2/organizeit2/tests/directory/subdir1/file1.png
1
organizeit rematch file://organizeit2/tests/directory/subdir1/ ".*" --no-list --limit=2 --leaves=7 --invert --by="age"
echo $?
Unmatched
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Path ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩
│ file://organizeit2/organizeit2/tests/directory/subdir1/file2.png │
│ file://organizeit2/organizeit2/tests/directory/subdir1/file1.png │
└──────────────────────────────────────────────────────────────────┘
1
organizeit match file://organizeit2/tests/directory/subdir1/ "*" --no-list --limit=5 --invert --by="size" --desc
echo $?
Unmatched
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━┓
┃ Path ┃ Size ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━┩
│ file://organizeit2/organizeit2/tests/directory/subdir1/file2.txt │ 7 │
│ file://organizeit2/organizeit2/tests/directory/subdir1/file2.md │ 6 │
│ file://organizeit2/organizeit2/tests/directory/subdir1/file2 │ 5 │
│ file://organizeit2/organizeit2/tests/directory/subdir1/file1.txt │ 3 │
│ file://organizeit2/organizeit2/tests/directory/subdir1/file1.md │ 2 │
└──────────────────────────────────────────────────────────────────┴──────┘
1
organizeit rematch file://organizeit2/tests/directory/subdir1/ ".*" --no-list --limit=5 --invert --by="size" --desc
echo $?
Unmatched
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━┓
┃ Path ┃ Size ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━┩
│ file://organizeit2/organizeit2/tests/directory/subdir1/file2.txt │ 7 │
│ file://organizeit2/organizeit2/tests/directory/subdir1/file2.md │ 6 │
│ file://organizeit2/organizeit2/tests/directory/subdir1/file2 │ 5 │
│ file://organizeit2/organizeit2/tests/directory/subdir1/file1.txt │ 3 │
│ file://organizeit2/organizeit2/tests/directory/subdir1/file1.md │ 2 │
└──────────────────────────────────────────────────────────────────┴──────┘
1
organizeit match file://organizeit2/tests/directory/subdir1/ "*" --no-list --limit=2 --leaves=7 --invert --desc --by="age"
echo $?
Unmatched
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Path ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩
│ file://organizeit2/organizeit2/tests/directory/subdir1/file2.txt │
│ file://organizeit2/organizeit2/tests/directory/subdir1/file2.md │
└──────────────────────────────────────────────────────────────────┘
1
organizeit rematch file://organizeit2/tests/directory/subdir1/ ".*" --no-list --limit=2 --leaves=7 --invert --desc --by="age"
echo $?
Unmatched
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Path ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩
│ file://organizeit2/organizeit2/tests/directory/subdir1/file2.txt │
│ file://organizeit2/organizeit2/tests/directory/subdir1/file2.md │
└──────────────────────────────────────────────────────────────────┘
1
organizeit match file://organizeit2/tests/directory/subdir1/ "*" --no-list --limit=3 --invert --by="age"
echo $?
Unmatched
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Path ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩
│ file://organizeit2/organizeit2/tests/directory/subdir1/file1.png │
│ file://organizeit2/organizeit2/tests/directory/subdir1/file2.png │
│ file://organizeit2/organizeit2/tests/directory/subdir1/subsubdir1 │
└───────────────────────────────────────────────────────────────────┘
1
organizeit rematch file://organizeit2/tests/directory/subdir1/ ".*" --no-list --limit=3 --invert --by="age"
echo $?
Unmatched
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Path ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩
│ file://organizeit2/organizeit2/tests/directory/subdir1/file1.png │
│ file://organizeit2/organizeit2/tests/directory/subdir1/file2.png │
│ file://organizeit2/organizeit2/tests/directory/subdir1/subsubdir1 │
└───────────────────────────────────────────────────────────────────┘
1
organizeit match file://organizeit2/tests/directory/subdir1/ "*" --no-list --leaves=8 --invert --by="age"
echo $?
Unmatched
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Path ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩
│ file://organizeit2/organizeit2/tests/directory/subdir1/file1.png │
│ file://organizeit2/organizeit2/tests/directory/subdir1/file2.png │
└──────────────────────────────────────────────────────────────────┘
1
organizeit rematch file://organizeit2/tests/directory/subdir1/ ".*" --no-list --leaves=8 --invert --by="age"
echo $?
Unmatched
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Path ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩
│ file://organizeit2/organizeit2/tests/directory/subdir1/file2.png │
│ file://organizeit2/organizeit2/tests/directory/subdir1/file1.png │
└──────────────────────────────────────────────────────────────────┘
1
organizeit rematch file://organizeit2/tests/directory/subdir1/ ".*" --no-list --limit=5 --invert --by="size" --desc --op="touch" --dry-run
echo $?
Unmatched
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━┓
┃ Path ┃ Size ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━┩
│ file://organizeit2/organizeit2/tests/directory/subdir1/file2.txt │ 7 │
│ file://organizeit2/organizeit2/tests/directory/subdir1/file2.md │ 6 │
│ file://organizeit2/organizeit2/tests/directory/subdir1/file2 │ 5 │
│ file://organizeit2/organizeit2/tests/directory/subdir1/file1.txt │ 3 │
│ file://organizeit2/organizeit2/tests/directory/subdir1/file1.md │ 2 │
└──────────────────────────────────────────────────────────────────┴──────┘
touch organizeit2/organizeit2/tests/directory/subdir1/file2.txt
touch organizeit2/organizeit2/tests/directory/subdir1/file2.md
touch organizeit2/organizeit2/tests/directory/subdir1/file2
touch organizeit2/organizeit2/tests/directory/subdir1/file1.txt
touch organizeit2/organizeit2/tests/directory/subdir1/file1.md
1
organizeit rematch file://organizeit2/tests/directory/subdir1/ ".*" --no-list --limit=5 --invert --by="size" --desc --op="rm" --dry-run
echo $?
Unmatched
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━┓
┃ Path ┃ Size ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━┩
│ file://organizeit2/organizeit2/tests/directory/subdir1/file2.txt │ 7 │
│ file://organizeit2/organizeit2/tests/directory/subdir1/file2.md │ 6 │
│ file://organizeit2/organizeit2/tests/directory/subdir1/file2 │ 5 │
│ file://organizeit2/organizeit2/tests/directory/subdir1/file1.txt │ 3 │
│ file://organizeit2/organizeit2/tests/directory/subdir1/file1.md │ 2 │
└──────────────────────────────────────────────────────────────────┴──────┘
rm organizeit2/organizeit2/tests/directory/subdir1/file2.txt
rm organizeit2/organizeit2/tests/directory/subdir1/file2.md
rm organizeit2/organizeit2/tests/directory/subdir1/file2
rm organizeit2/organizeit2/tests/directory/subdir1/file1.txt
rm organizeit2/organizeit2/tests/directory/subdir1/file1.md
1
Note
This library was generated using copier from the Base Python Project Template repository