Comments (10)
The simple attempt to try to list only txt files compression status:
afsctool -t txt .
leads to program entering never ending loop and printing forever below info:
File content type: public.plain-text
File extension(s): txt
Number of HFS+/APFS compressed files: 1
Number of HFS+/APFS compressed files: 4
/disk/txt: No such file or directory
/disk/.:
It looks like arguments parser get it wrong.
from afsctool.
from afsctool.
Thank you for quick reply but not sure I understand.
I have just tried:
afsctool -c -t txt .
my understanding is that this should compress all txt files in current folder.
It does not - it enters never ending loop dispalying again and again:
/disk/-t: No such file or directory
/disk/txt: No such file or directory
from afsctool.
To be precise I think it works (txt file was compressed) but looks that -t is parsed correctly but then as you allow to specify multiple folders your code parses -t and txt as they belong to list of folders
from afsctool.
The same when I try to invert selection:
afsctool -c -i -t txt .
result - looping with message:
Totals of file content types
Number of HFS+/APFS compressed files: 0
Number of HFS+/APFS compressed files: 1
/disk/-i: No such file or directory
/disk/-t: No such file or directory
/disk/txt: No such file or directory
/disk/.:
Bottom line is that -i and -t options parsing is broken
from afsctool.
from afsctool.
This is why I put in plenty of conditional code to be able to test everything but the (de)compression on Linux... I can reproduce your issue, and will try to fix it soonish.
This is great news! Thank you.
-t takes a single argument only; it has to be specified multiple times if you want to declare multiple file types/extensions.
This is fine. As long as documented. But this is detail.
In the meantime, please use an external solution (
find
?). Or trust that the kind of files you want to exclude will be rejected quickly because a chunk that "compresses" to a larger size is encountered very quickly (so don't use the -L option nor LZVN compression).
yes I could do this with 'find' but then I lose parallel processing - so it becomes real slow. In my case I want to process many TB dataset which can contain hundreds thousands of files. I know that many of these files cant be compressed anyway so I want to speed up all process by excluding them. Obvious suspects like jpg, zip, gz etc.
from afsctool.
and BTW afsctool is fantastic - extremely useful tool
from afsctool.
from afsctool.
yes I could do this with 'find' but then I lose parallel processing - so it becomes real slow.
No! If you activate parallel processing with -j or -J, the files specified on the commandline will be added to a queue (regardless of whether you specify the folders they are in, or individual files). That queue is than emptied by worker threads.
ok so it is some workaround - thank you for clarification
but clearly you suggest something else than:
find pattern -exec afsctool
??
from afsctool.
Related Issues (20)
- Building on Apple M1 HOT 5
- Is this afsctool the clear successor to the original? Should the homebrew afsctool formula point here instead? HOT 4
- Does your afsctool support APFS? HOT 2
- Unable to build LZVN on apple m1 HOT 15
- building for macOS-x86_64 but attempting to link with file built for macOS-arm64 HOT 8
- About maintenance of the fork HOT 3
- Is this identical to 'brew install afsctool' or is that the original version? HOT 4
- Failed to build on M1 - Monterey 12.0.1 with Xcode 13.1 HOT 11
- Process stuck waiting HOT 12
- Are we ready for a new release? HOT 3
- Unable to build when the path to Xcode contains spaces HOT 3
- Build errors with GCC 5 HOT 9
- Recovering missing/deleted files HOT 4
- Time Machine risks? HOT 3
- Incorrect license HOT 4
- afsctool breaks binaries, sometimes (HFS+) HOT 9
- Compress, decompress, compress results in lots of mismatch errors HOT 19
- compressing breaks app (workaround: restart mac) HOT 25
- Cannot build HOT 11
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from afsctool.