Comments (13)
from jc.
would eliminate |tonumber
in jq I guess
From readme:
ls -l /usr/bin | jc --ls | jq '.[] | select(.size|tonumber > 50000000)'
from jc.
from jc.
Suggested alternative: have a "schema" and now where the numbers supposed to be. If the user chooses -h
for "human" output and then uses jc
for machine parse-able that's an error (exception).
from jc.
I was thinking about stricter behaviour: you know where the numbers need to be. If the input is not a number, it's probably because of -h
and jc probably should not parse anything like that because it's kind of sabotage by the user: runs the command explicitly requesting human output and makes jc parse it
from jc.
I think i'd like to keep the original representation, too, for other use cases. Since it's easy to add fields to json that can be ignored if not needed I don't mind making extra _num_x
or whatever fields to convert known numbers to number format if they are parsable.
from jc.
Or actually, the opposite way so you can use the results more easily in your application.
Be strict in parsing, but if -h type of input is found and not parsable as a number, add a _fieldname
with the non-parsable text output and you can just ignore the _fieldname
fields if you just care about machine parsable data?
from jc.
Was thinking about this a bit more and I think it makes more sense to provide the existing output when the user passes a -r or raw=true flag. The default output would be a strict schema representation with additional semantic information.
This allows for both use cases where you can use jc as a layer higher than sed/awk/grep but can also use it for higher level presentation.
I’ll start working on this. This solves the conflict I ran into in the earlier versions and I think it will be good for your project.
from jc.
The default output would be a strict schema representation with additional semantic information.
Sounds good!
from jc.
Hi Ilya,
I have incorporated your suggestions into the dev branch. I'm still working on some fixes and documentation, but it's pretty close to being merged in the next week or two.
Feel free to test/provide feedback on the dev branch:
pip3 uninstall jc
git clone --single-branch --branch dev https://github.com/kellyjonbrazil/jc.git
cd jc
./install.sh
from jc.
Hi. Not getting to it. I'll take a look later.
from jc.
updates in master version 1.5.1, also via pip3
from jc.
from jc.
Related Issues (20)
- Idea: Generic Dict Data Mapper HOT 3
- jc -h and magic mode not working without xmltodict HOT 14
- busybox 'uptime' makes showing number of logged in users optional HOT 4
- Ansible community.general.jc error with JC 1.25.0 and ini parser HOT 13
- iwconfig parser don't work HOT 9
- /proc/pid/state parser add missing state 'I' HOT 2
- jc --rsync, it should be able to parse the summary of rsync, but doesn't work HOT 5
- New parser: php-fpm8.2 -tt HOT 2
- PostgreSQL INI files HOT 2
- xrandr fails to parse disconnected output, that is still enabled HOT 3
- iptables fails to parse -x (expand numbers) option because "pkts" header has more than one leading blank HOT 5
- Add `--locale` option to specify fallback encoding to decode `data_in` with HOT 1
- `lspci` parser PhySlot issue HOT 3
- Fix documentation for apt-get-sqq parser HOT 2
- New Parser - NUT-upsc command HOT 1
- [parsers /pci_ids.py] Only last [subvendor][subdevice] got loaded into result when multiple subdevices having the same subvendor id HOT 2
- Bug: Traceroute ignored IPs when multiple IPs on hop HOT 2
- "ss" Parser not working correctly: Entries Missing HOT 2
- .netrc support HOT 1
- Problem with --pip-show parser for a module with nothing on the License: line but which has following lines HOT 3
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 jc.