1
0
mirror of https://github.com/kellyjonbrazil/jc.git synced 2025-06-25 00:37:31 +02:00

use jc.utils for conversions

This commit is contained in:
Kelly Brazil
2021-04-18 13:01:25 -07:00
parent 246c707c98
commit 1f034826f6
42 changed files with 93 additions and 184 deletions

View File

@ -188,4 +188,4 @@ Returns:
## Parser Information
Compatibility: linux
Version 1.5 by Kelly Brazil (kellyjonbrazil@gmail.com)
Version 1.6 by Kelly Brazil (kellyjonbrazil@gmail.com)

View File

@ -119,4 +119,4 @@ Returns:
## Parser Information
Compatibility: linux, darwin, cygwin, aix, freebsd
Version 1.3 by Kelly Brazil (kellyjonbrazil@gmail.com)
Version 1.4 by Kelly Brazil (kellyjonbrazil@gmail.com)

View File

@ -128,4 +128,4 @@ Returns:
## Parser Information
Compatibility: linux, darwin, aix, freebsd
Version 1.6 by Kelly Brazil (kellyjonbrazil@gmail.com)
Version 1.7 by Kelly Brazil (kellyjonbrazil@gmail.com)

View File

@ -6,7 +6,6 @@ jc - JSON CLI output utility `ls` and `vdir` command output parser
Options supported:
- `lbaR1`
- `--time-style=full-iso`
- `-h`: File sizes will be available in text form with `-r` but larger file sizes with human readable suffixes will be converted to `Null` in the default view since the parser attempts to convert this field to an integer.
Note: The `-1`, `-l`, or `-b` option of `ls` should be used to correctly parse filenames that include newline characters. Since `ls` does not encode newlines in filenames when outputting to a pipe it will cause `jc` to see multiple files instead of a single file if `-1`, `-l`, or `-b` is not used. Alternatively, `vdir` can be used, which is the same as running `ls -lb`.
@ -132,4 +131,4 @@ Returns:
## Parser Information
Compatibility: linux, darwin, cygwin, aix, freebsd
Version 1.8 by Kelly Brazil (kellyjonbrazil@gmail.com)
Version 1.9 by Kelly Brazil (kellyjonbrazil@gmail.com)

View File

@ -293,4 +293,4 @@ Returns:
## Parser Information
Compatibility: linux
Version 1.6 by Kelly Brazil (kellyjonbrazil@gmail.com)
Version 1.7 by Kelly Brazil (kellyjonbrazil@gmail.com)

View File

@ -150,4 +150,4 @@ Returns:
## Parser Information
Compatibility: linux
Version 1.4 by Kelly Brazil (kellyjonbrazil@gmail.com)
Version 1.5 by Kelly Brazil (kellyjonbrazil@gmail.com)

View File

@ -144,4 +144,4 @@ Returns:
## Parser Information
Compatibility: linux
Version 1.3 by Kelly Brazil (kellyjonbrazil@gmail.com)
Version 1.4 by Kelly Brazil (kellyjonbrazil@gmail.com)

View File

@ -379,4 +379,4 @@ Returns:
## Parser Information
Compatibility: linux, darwin, freebsd
Version 1.9 by Kelly Brazil (kellyjonbrazil@gmail.com)
Version 1.10 by Kelly Brazil (kellyjonbrazil@gmail.com)

View File

@ -231,4 +231,4 @@ Returns:
## Parser Information
Compatibility: linux, freebsd
Version 1.4 by Kelly Brazil (kellyjonbrazil@gmail.com)
Version 1.5 by Kelly Brazil (kellyjonbrazil@gmail.com)

View File

@ -119,4 +119,4 @@ Returns:
## Parser Information
Compatibility: linux, darwin, aix, freebsd
Version 1.2 by Kelly Brazil (kellyjonbrazil@gmail.com)
Version 1.3 by Kelly Brazil (kellyjonbrazil@gmail.com)

View File

@ -170,4 +170,4 @@ Returns:
## Parser Information
Compatibility: linux, darwin, freebsd
Version 1.3 by Kelly Brazil (kellyjonbrazil@gmail.com)
Version 1.4 by Kelly Brazil (kellyjonbrazil@gmail.com)

View File

@ -231,4 +231,4 @@ Returns:
## Parser Information
Compatibility: linux, darwin, cygwin, aix, freebsd
Version 1.4 by Kelly Brazil (kellyjonbrazil@gmail.com)
Version 1.5 by Kelly Brazil (kellyjonbrazil@gmail.com)

View File

@ -135,4 +135,4 @@ Returns:
## Parser Information
Compatibility: linux
Version 1.5 by Kelly Brazil (kellyjonbrazil@gmail.com)
Version 1.6 by Kelly Brazil (kellyjonbrazil@gmail.com)

View File

@ -181,4 +181,4 @@ Returns:
## Parser Information
Compatibility: linux
Version 1.2 by Kelly Brazil (kellyjonbrazil@gmail.com)
Version 1.3 by Kelly Brazil (kellyjonbrazil@gmail.com)

View File

@ -126,4 +126,4 @@ Returns:
## Parser Information
Compatibility: linux, darwin, aix, freebsd
Version 1.2 by Kelly Brazil (kellyjonbrazil@gmail.com)
Version 1.3 by Kelly Brazil (kellyjonbrazil@gmail.com)

View File

@ -303,4 +303,4 @@ Returns:
## Parser Information
Compatibility: linux
Version 1.3 by Kelly Brazil (kellyjonbrazil@gmail.com)
Version 1.4 by Kelly Brazil (kellyjonbrazil@gmail.com)

View File

@ -193,4 +193,4 @@ Returns:
## Parser Information
Compatibility: linux, darwin, freebsd
Version 1.7 by Kelly Brazil (kellyjonbrazil@gmail.com)
Version 1.8 by Kelly Brazil (kellyjonbrazil@gmail.com)

View File

@ -163,7 +163,7 @@ import jc.utils
class info():
"""Provides parser metadata (version, author, etc.)"""
version = '1.5'
version = '1.6'
description = '`iptables` command parser'
author = 'Kelly Brazil'
author_email = 'kellyjonbrazil@gmail.com'
@ -193,11 +193,7 @@ def _process(proc_data):
int_list = ['num', 'pkts']
for key in int_list:
if key in rule:
try:
key_int = int(rule[key])
rule[key] = key_int
except (ValueError):
rule[key] = None
rule[key] = jc.utils.convert_to_int(rule[key])
if 'bytes' in rule:
multiplier = 1
@ -218,7 +214,7 @@ def _process(proc_data):
rule['bytes'] = rule['bytes'].rstrip('P')
try:
bytes_int = int(rule['bytes'])
bytes_int = jc.utils.convert_to_int(rule['bytes'])
rule['bytes'] = bytes_int * multiplier
except (ValueError):
rule['bytes'] = None

View File

@ -95,7 +95,7 @@ import jc.utils
class info():
"""Provides parser metadata (version, author, etc.)"""
version = '1.3'
version = '1.4'
description = '`jobs` command parser'
author = 'Kelly Brazil'
author_email = 'kellyjonbrazil@gmail.com'
@ -124,11 +124,7 @@ def _process(proc_data):
int_list = ['job_number', 'pid']
for key in int_list:
if key in entry:
try:
key_int = int(entry[key])
entry[key] = key_int
except (ValueError):
entry[key] = None
entry[key] = jc.utils.convert_to_int(entry[key])
return proc_data

View File

@ -104,7 +104,7 @@ import jc.utils
class info():
"""Provides parser metadata (version, author, etc.)"""
version = '1.6'
version = '1.7'
description = '`last` and `lastb` command parser'
author = 'Kelly Brazil'
author_email = 'kellyjonbrazil@gmail.com'
@ -161,7 +161,7 @@ def _process(proc_data):
entry['logout_epoch'] = timestamp.naive
if 'login_epoch' in entry and 'logout_epoch' in entry:
entry['duration_seconds'] = int(entry['logout_epoch']) - int(entry['login_epoch'])
entry['duration_seconds'] = entry['logout_epoch'] - entry['login_epoch']
if 'duration' in entry and re.match(r'^\d+\+', entry['duration']):
m = re.match(r'^(?P<days>\d+)\+(?P<hours>\d\d):(?P<minutes>\d\d)', entry['duration'])

View File

@ -3,7 +3,6 @@
Options supported:
- `lbaR1`
- `--time-style=full-iso`
- `-h`: File sizes will be available in text form with `-r` but larger file sizes with human readable suffixes will be converted to `Null` in the default view since the parser attempts to convert this field to an integer.
Note: The `-1`, `-l`, or `-b` option of `ls` should be used to correctly parse filenames that include newline characters. Since `ls` does not encode newlines in filenames when outputting to a pipe it will cause `jc` to see multiple files instead of a single file if `-1`, `-l`, or `-b` is not used. Alternatively, `vdir` can be used, which is the same as running `ls -lb`.
@ -108,7 +107,7 @@ import jc.utils
class info():
"""Provides parser metadata (version, author, etc.)"""
version = '1.8'
version = '1.9'
description = '`ls` command parser'
author = 'Kelly Brazil'
author_email = 'kellyjonbrazil@gmail.com'
@ -137,11 +136,7 @@ def _process(proc_data):
int_list = ['links', 'size']
for key in int_list:
if key in entry:
try:
key_int = int(entry[key])
entry[key] = key_int
except (ValueError):
entry[key] = None
entry[key] = jc.utils.convert_to_int(entry[key])
if 'date' in entry:
# to speed up processing only try to convert the date if it's not the default format

View File

@ -269,7 +269,7 @@ import jc.parsers.universal
class info():
"""Provides parser metadata (version, author, etc.)"""
version = '1.6'
version = '1.7'
description = '`lsblk` command parser'
author = 'Kelly Brazil'
author_email = 'kellyjonbrazil@gmail.com'
@ -299,21 +299,13 @@ def _process(proc_data):
bool_list = ['rm', 'ro', 'rota', 'disc_zero', 'rand']
for key in bool_list:
if key in entry:
try:
key_bool = bool(int(entry[key]))
entry[key] = key_bool
except (ValueError):
entry[key] = None
entry[key] = jc.utils.convert_to_bool(entry[key])
# integer changes
int_list = ['ra', 'alignment', 'min_io', 'opt_io', 'phy_sec', 'log_sec', 'rq_size', 'disc_aln']
for key in int_list:
if key in entry:
try:
key_int = int(entry[key])
entry[key] = key_int
except (ValueError):
entry[key] = None
entry[key] = jc.utils.convert_to_int(entry[key])
return proc_data

View File

@ -126,7 +126,7 @@ import jc.parsers.universal
class info():
"""Provides parser metadata (version, author, etc.)"""
version = '1.4'
version = '1.5'
description = '`lsmod` command parser'
author = 'Kelly Brazil'
author_email = 'kellyjonbrazil@gmail.com'
@ -152,15 +152,10 @@ def _process(proc_data):
List of Dictionaries. Structured data to conform to the schema.
"""
for entry in proc_data:
# integer changes
int_list = ['size', 'used']
for key in int_list:
if key in entry:
try:
key_int = int(entry[key])
entry[key] = key_int
except (ValueError):
entry[key] = None
entry[key] = jc.utils.convert_to_int(entry[key])
return proc_data

View File

@ -120,7 +120,7 @@ import jc.parsers.universal
class info():
"""Provides parser metadata (version, author, etc.)"""
version = '1.3'
version = '1.4'
description = '`lsof` command parser'
author = 'Kelly Brazil'
author_email = 'kellyjonbrazil@gmail.com'
@ -146,15 +146,11 @@ def _process(proc_data):
List of Dictionaries. Structured data to conform to the schema.
"""
for entry in proc_data:
# integer changes
int_list = ['pid', 'tid', 'size_off', 'node']
for key in int_list:
if key in entry:
try:
key_int = int(entry[key])
entry[key] = key_int
except (ValueError, TypeError):
entry[key] = None
entry[key] = jc.utils.convert_to_int(entry[key])
return proc_data

View File

@ -349,11 +349,12 @@ Examples:
}
]
"""
import jc.utils
class info():
"""Provides parser metadata (version, author, etc.)"""
version = '1.9'
version = '1.10'
description = '`netstat` command parser'
author = 'Kelly Brazil'
author_email = 'kellyjonbrazil@gmail.com'
@ -389,33 +390,23 @@ def _process(proc_data):
's_bcnt', 'r_bmax', 's_bmax', 'rexmit', 'ooorcv', '0_win']
for key in int_list:
if key in entry:
try:
key_int = int(entry[key])
entry[key] = key_int
except (ValueError):
entry[key] = None
entry[key] = jc.utils.convert_to_int(entry[key])
if 'local_port' in entry:
local_num = jc.utils.convert_to_int(entry['local_port'])
if local_num:
entry['local_port_num'] = local_num
if 'foreign_port' in entry:
foreign_num = jc.utils.convert_to_int(entry['foreign_port'])
if foreign_num:
entry['foreign_port_num'] = foreign_num
# float changes
float_list = ['rexmt', 'persist', 'keep', '2msl', 'delack', 'rcvtime']
for key in float_list:
if key in entry:
try:
key_float = float(entry[key])
entry[key] = key_float
except (ValueError):
entry[key] = None
if 'local_port' in entry:
try:
entry['local_port_num'] = int(entry['local_port'])
except (ValueError):
pass
if 'foreign_port' in entry:
try:
entry['foreign_port_num'] = int(entry['foreign_port'])
except (ValueError):
pass
entry[key] = jc.utils.convert_to_float(entry[key])
return proc_data

View File

@ -207,7 +207,7 @@ import jc.parsers.universal
class info():
"""Provides parser metadata (version, author, etc.)"""
version = '1.4'
version = '1.5'
description = '`ntpq -p` command parser'
author = 'Kelly Brazil'
author_email = 'kellyjonbrazil@gmail.com'
@ -242,18 +242,12 @@ def _process(proc_data):
int_list = ['st', 'when', 'poll', 'reach']
for key in int_list:
if key in entry:
try:
entry[key] = int(entry[key])
except (ValueError):
entry[key] = None
entry[key] = jc.utils.convert_to_int(entry[key])
float_list = ['delay', 'offset', 'jitter']
for key in float_list:
if key in entry:
try:
entry[key] = float(entry[key])
except (ValueError):
entry[key] = None
entry[key] = jc.utils.convert_to_float(entry[key])
return proc_data

View File

@ -94,7 +94,7 @@ import jc.utils
class info():
"""Provides parser metadata (version, author, etc.)"""
version = '1.2'
version = '1.3'
description = '`/etc/passwd` file parser'
author = 'Kelly Brazil'
author_email = 'kellyjonbrazil@gmail.com'
@ -123,11 +123,7 @@ def _process(proc_data):
int_list = ['uid', 'gid']
for key in int_list:
if key in entry:
try:
key_int = int(entry[key])
entry[key] = key_int
except (ValueError):
entry[key] = None
entry[key] = jc.utils.convert_to_int(entry[key])
return proc_data

View File

@ -146,7 +146,7 @@ import jc.utils
class info():
"""Provides parser metadata (version, author, etc.)"""
version = '1.3'
version = '1.4'
description = '`ping` and `ping6` command parser'
author = 'Kelly Brazil'
author_email = 'kellyjonbrazil@gmail.com'
@ -175,34 +175,20 @@ def _process(proc_data):
float_list = ['packet_loss_percent', 'round_trip_ms_min', 'round_trip_ms_avg', 'round_trip_ms_max',
'round_trip_ms_stddev', 'timestamp', 'time_ms']
for key in proc_data.keys():
for item in int_list:
if item == key:
try:
proc_data[key] = int(proc_data[key])
except (ValueError, TypeError):
proc_data[key] = None
for key in proc_data:
if key in int_list:
proc_data[key] = jc.utils.convert_to_int(proc_data[key])
for item in float_list:
if item == key:
try:
proc_data[key] = float(proc_data[key])
except (ValueError, TypeError):
proc_data[key] = None
if key in float_list:
proc_data[key] = jc.utils.convert_to_float(proc_data[key])
if key == 'responses':
for entry in proc_data['responses']:
for k in entry.keys():
for k in entry:
if k in int_list:
try:
entry[k] = int(entry[k])
except (ValueError, TypeError):
entry[k] = None
entry[k] = jc.utils.convert_to_int(entry[k])
if k in float_list:
try:
entry[k] = float(entry[k])
except (ValueError, TypeError):
entry[k] = None
entry[k] = jc.utils.convert_to_float(entry[k])
return proc_data

View File

@ -207,7 +207,7 @@ import jc.parsers.universal
class info():
"""Provides parser metadata (version, author, etc.)"""
version = '1.4'
version = '1.5'
description = '`ps` command parser'
author = 'Kelly Brazil'
author_email = 'kellyjonbrazil@gmail.com'
@ -245,22 +245,15 @@ def _process(proc_data):
int_list = ['pid', 'ppid', 'c', 'vsz', 'rss']
for key in int_list:
if key in entry:
try:
key_int = int(entry[key])
entry[key] = key_int
except (ValueError):
entry[key] = None
entry[key] = jc.utils.convert_to_int(entry[key])
# change to float
float_list = ['cpu_percent', 'mem_percent']
for key in float_list:
if key in entry:
try:
key_float = float(entry[key])
entry[key] = key_float
except (ValueError):
entry[key] = None
entry[key] = jc.utils.convert_to_float(entry[key])
# clean up other fields
if 'tty' in entry:
if entry['tty'] == '?' or entry['tty'] == '??':
entry['tty'] = None

View File

@ -111,7 +111,7 @@ import jc.parsers.universal
class info():
"""Provides parser metadata (version, author, etc.)"""
version = '1.5'
version = '1.6'
description = '`route` command parser'
author = 'Kelly Brazil'
author_email = 'kellyjonbrazil@gmail.com'
@ -140,11 +140,7 @@ def _process(proc_data):
int_list = ['metric', 'ref', 'use', 'mss', 'window', 'irtt']
for key in int_list:
if key in entry:
try:
key_int = int(entry[key])
entry[key] = key_int
except (ValueError):
entry[key] = None
entry[key] = jc.utils.convert_to_int(entry[key])
# add flags_pretty
# Flag mapping from https://www.man7.org/linux/man-pages/man8/route.8.html

View File

@ -156,7 +156,7 @@ import jc.utils
class info():
"""Provides parser metadata (version, author, etc.)"""
version = '1.2'
version = '1.3'
description = '`rpm -qi` command parser'
author = 'Kelly Brazil'
author_email = 'kellyjonbrazil@gmail.com'
@ -187,10 +187,7 @@ def _process(proc_data):
int_list = ['epoch', 'size']
for key in int_list:
if key in entry:
try:
entry[key] = int(entry[key])
except (ValueError):
entry[key] = None
entry[key] = jc.utils.convert_to_int(entry[key])
if 'build_date' in entry:
timestamp = jc.utils.timestamp(entry['build_date'])

View File

@ -101,7 +101,7 @@ import jc.utils
class info():
"""Provides parser metadata (version, author, etc.)"""
version = '1.2'
version = '1.3'
description = '`/etc/shadow` file parser'
author = 'Kelly Brazil'
author_email = 'kellyjonbrazil@gmail.com'
@ -130,11 +130,7 @@ def _process(proc_data):
int_list = ['last_changed', 'minimum', 'maximum', 'warn', 'inactive', 'expire']
for key in int_list:
if key in entry:
try:
key_int = int(entry[key])
entry[key] = key_int
except (ValueError):
entry[key] = None
entry[key] = jc.utils.convert_to_int(entry[key])
return proc_data

View File

@ -279,7 +279,7 @@ import jc.utils
class info():
"""Provides parser metadata (version, author, etc.)"""
version = '1.3'
version = '1.4'
description = '`ss` command parser'
author = 'Kelly Brazil'
author_email = 'kellyjonbrazil@gmail.com'
@ -308,23 +308,17 @@ def _process(proc_data):
int_list = ['recv_q', 'send_q', 'pid']
for key in int_list:
if key in entry:
try:
key_int = int(entry[key])
entry[key] = key_int
except (ValueError):
entry[key] = None
entry[key] = jc.utils.convert_to_int(entry[key])
if 'local_port' in entry:
try:
entry['local_port_num'] = int(entry['local_port'])
except (ValueError):
pass
local_num = jc.utils.convert_to_int(entry['local_port'])
if local_num is not None and local_num >= 0:
entry['local_port_num'] = local_num
if 'peer_port' in entry:
try:
entry['peer_port_num'] = int(entry['peer_port'])
except (ValueError):
pass
peer_num = jc.utils.convert_to_int(entry['peer_port'])
if peer_num is not None and peer_num >= 0:
entry['peer_port_num'] = peer_num
return proc_data

View File

@ -169,7 +169,7 @@ import jc.utils
class info():
"""Provides parser metadata (version, author, etc.)"""
version = '1.7'
version = '1.8'
description = '`stat` command parser'
author = 'Kelly Brazil'
author_email = 'kellyjonbrazil@gmail.com'
@ -195,14 +195,11 @@ def _process(proc_data):
List of Dictionaries. Structured data to conform to the schema.
"""
for entry in proc_data:
int_list = ['size', 'blocks', 'io_blocks', 'inode', 'links', 'uid', 'gid', 'unix_device', 'rdev', 'block_size']
int_list = ['size', 'blocks', 'io_blocks', 'inode', 'links', 'uid', 'gid', 'unix_device',
'rdev', 'block_size']
for key in int_list:
if key in entry:
try:
key_int = int(entry[key])
entry[key] = key_int
except (ValueError):
entry[key] = None
entry[key] = jc.utils.convert_to_int(entry[key])
# turn - into null for time fields and add calculated timestamp fields
for entry in proc_data:

View File

@ -1 +1 @@
[{"filename": ".", "flags": "dr-xr-xr-x.", "links": 17, "owner": "root", "group": "root", "size": 224, "date": "Aug 15 10:56"}, {"filename": "..", "flags": "dr-xr-xr-x.", "links": 17, "owner": "root", "group": "root", "size": 224, "date": "Aug 15 10:56"}, {"filename": "bin", "link_to": "usr/bin", "flags": "lrwxrwxrwx.", "links": 1, "owner": "root", "group": "root", "size": 7, "date": "Aug 15 10:53"}, {"filename": "boot", "flags": "dr-xr-xr-x.", "links": 5, "owner": "root", "group": "root", "size": null, "date": "Oct 21 13:18"}, {"filename": "dev", "flags": "drwxr-xr-x.", "links": 20, "owner": "root", "group": "root", "size": null, "date": "Oct 25 18:21"}, {"filename": "etc", "flags": "drwxr-xr-x.", "links": 78, "owner": "root", "group": "root", "size": null, "date": "Oct 25 18:47"}, {"filename": "home", "flags": "drwxr-xr-x.", "links": 3, "owner": "root", "group": "root", "size": 21, "date": "Aug 15 10:56"}, {"filename": "lib", "link_to": "usr/lib", "flags": "lrwxrwxrwx.", "links": 1, "owner": "root", "group": "root", "size": 7, "date": "Aug 15 10:53"}, {"filename": "lib64", "link_to": "usr/lib64", "flags": "lrwxrwxrwx.", "links": 1, "owner": "root", "group": "root", "size": 9, "date": "Aug 15 10:53"}, {"filename": "media", "flags": "drwxr-xr-x.", "links": 2, "owner": "root", "group": "root", "size": 6, "date": "Apr 10 2018"}, {"filename": "mnt", "flags": "drwxr-xr-x.", "links": 2, "owner": "root", "group": "root", "size": 6, "date": "Apr 10 2018"}, {"filename": "opt", "flags": "drwxr-xr-x.", "links": 2, "owner": "root", "group": "root", "size": 6, "date": "Apr 10 2018"}, {"filename": "proc", "flags": "dr-xr-xr-x.", "links": 121, "owner": "root", "group": "root", "size": 0, "date": "Oct 25 18:21"}, {"filename": "root", "flags": "dr-xr-x---.", "links": 3, "owner": "root", "group": "root", "size": 170, "date": "Oct 15 11:11"}, {"filename": "run", "flags": "drwxr-xr-x.", "links": 26, "owner": "root", "group": "root", "size": 800, "date": "Oct 25 18:47"}, {"filename": "sbin", "link_to": "usr/sbin", "flags": "lrwxrwxrwx.", "links": 1, "owner": "root", "group": "root", "size": 8, "date": "Aug 15 10:53"}, {"filename": "srv", "flags": "drwxr-xr-x.", "links": 2, "owner": "root", "group": "root", "size": 6, "date": "Apr 10 2018"}, {"filename": "sys", "flags": "dr-xr-xr-x.", "links": 13, "owner": "root", "group": "root", "size": 0, "date": "Oct 25 18:21"}, {"filename": "tmp", "flags": "drwxrwxrwt.", "links": 19, "owner": "root", "group": "root", "size": null, "date": "Oct 26 10:14"}, {"filename": "usr", "flags": "drwxr-xr-x.", "links": 13, "owner": "root", "group": "root", "size": 155, "date": "Aug 15 10:53"}, {"filename": "var", "flags": "drwxr-xr-x.", "links": 19, "owner": "root", "group": "root", "size": 267, "date": "Aug 15 10:57"}]
[{"filename":".","flags":"dr-xr-xr-x.","links":17,"owner":"root","group":"root","size":224,"date":"Aug 15 10:56"},{"filename":"..","flags":"dr-xr-xr-x.","links":17,"owner":"root","group":"root","size":224,"date":"Aug 15 10:56"},{"filename":"bin","link_to":"usr/bin","flags":"lrwxrwxrwx.","links":1,"owner":"root","group":"root","size":7,"date":"Aug 15 10:53"},{"filename":"boot","flags":"dr-xr-xr-x.","links":5,"owner":"root","group":"root","size":4,"date":"Oct 21 13:18"},{"filename":"dev","flags":"drwxr-xr-x.","links":20,"owner":"root","group":"root","size":3,"date":"Oct 25 18:21"},{"filename":"etc","flags":"drwxr-xr-x.","links":78,"owner":"root","group":"root","size":8,"date":"Oct 25 18:47"},{"filename":"home","flags":"drwxr-xr-x.","links":3,"owner":"root","group":"root","size":21,"date":"Aug 15 10:56"},{"filename":"lib","link_to":"usr/lib","flags":"lrwxrwxrwx.","links":1,"owner":"root","group":"root","size":7,"date":"Aug 15 10:53"},{"filename":"lib64","link_to":"usr/lib64","flags":"lrwxrwxrwx.","links":1,"owner":"root","group":"root","size":9,"date":"Aug 15 10:53"},{"filename":"media","flags":"drwxr-xr-x.","links":2,"owner":"root","group":"root","size":6,"date":"Apr 10 2018"},{"filename":"mnt","flags":"drwxr-xr-x.","links":2,"owner":"root","group":"root","size":6,"date":"Apr 10 2018"},{"filename":"opt","flags":"drwxr-xr-x.","links":2,"owner":"root","group":"root","size":6,"date":"Apr 10 2018"},{"filename":"proc","flags":"dr-xr-xr-x.","links":121,"owner":"root","group":"root","size":0,"date":"Oct 25 18:21"},{"filename":"root","flags":"dr-xr-x---.","links":3,"owner":"root","group":"root","size":170,"date":"Oct 15 11:11"},{"filename":"run","flags":"drwxr-xr-x.","links":26,"owner":"root","group":"root","size":800,"date":"Oct 25 18:47"},{"filename":"sbin","link_to":"usr/sbin","flags":"lrwxrwxrwx.","links":1,"owner":"root","group":"root","size":8,"date":"Aug 15 10:53"},{"filename":"srv","flags":"drwxr-xr-x.","links":2,"owner":"root","group":"root","size":6,"date":"Apr 10 2018"},{"filename":"sys","flags":"dr-xr-xr-x.","links":13,"owner":"root","group":"root","size":0,"date":"Oct 25 18:21"},{"filename":"tmp","flags":"drwxrwxrwt.","links":19,"owner":"root","group":"root","size":4,"date":"Oct 26 10:14"},{"filename":"usr","flags":"drwxr-xr-x.","links":13,"owner":"root","group":"root","size":155,"date":"Aug 15 10:53"},{"filename":"var","flags":"drwxr-xr-x.","links":19,"owner":"root","group":"root","size":267,"date":"Aug 15 10:57"}]

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
[{"filename": ".", "flags": "drwxr-xr-x", "links": 33, "owner": "root", "group": "wheel", "size": null, "date": "Oct 2 10:55"}, {"filename": "..", "flags": "drwxr-xr-x", "links": 33, "owner": "root", "group": "wheel", "size": null, "date": "Oct 2 10:55"}, {"filename": ".DS_Store", "flags": "-rw-rw-r--", "links": 1, "owner": "root", "group": "admin", "size": null, "date": "Nov 8 2018"}, {"filename": ".DocumentRevisions-V100", "flags": "d--x--x--x", "links": 9, "owner": "root", "group": "wheel", "size": null, "date": "Dec 2 22:46"}, {"filename": ".MobileBackups", "flags": "drwxr-xr-x+", "links": 3, "owner": "root", "group": "wheel", "size": null, "date": "Oct 2 10:56"}, {"filename": ".Spotlight-V100", "flags": "drwx------", "links": 5, "owner": "root", "group": "wheel", "size": null, "date": "Jul 8 2011"}, {"filename": ".Trashes", "flags": "d-wx-wx-wt", "links": 2, "owner": "root", "group": "wheel", "size": null, "date": "Nov 10 2014"}, {"filename": ".file", "flags": "----------", "links": 1, "owner": "root", "group": "admin", "size": null, "date": "Feb 25 2016"}, {"filename": ".fseventsd", "flags": "drwx------", "links": 6, "owner": "root", "group": "wheel", "size": null, "date": "Dec 12 11:10"}, {"filename": ".vol", "flags": "drwxr-xr-x@", "links": 2, "owner": "root", "group": "wheel", "size": null, "date": "Apr 19 2016"}, {"filename": "Applications", "flags": "drwxrwxr-x+", "links": 70, "owner": "root", "group": "admin", "size": null, "date": "Dec 12 11:09"}, {"filename": "Library", "flags": "drwxr-xr-x+", "links": 64, "owner": "root", "group": "wheel", "size": null, "date": "Jun 7 2018"}, {"filename": "Network", "flags": "drwxr-xr-x@", "links": 2, "owner": "root", "group": "wheel", "size": null, "date": "Apr 19 2016"}, {"filename": "System", "flags": "drwxr-xr-x@", "links": 4, "owner": "root", "group": "wheel", "size": null, "date": "Jul 18 2018"}, {"filename": "User Guides And Information", "link_to": "/Library/Documentation/User Guides and Information.localized", "flags": "lrwxr-xr-x", "links": 1, "owner": "root", "group": "wheel", "size": null, "date": "Jan 25 2012"}, {"filename": "Users", "flags": "drwxr-xr-x", "links": 5, "owner": "root", "group": "admin", "size": null, "date": "Apr 19 2016"}, {"filename": "Volumes", "flags": "drwxrwxrwt@", "links": 5, "owner": "root", "group": "admin", "size": null, "date": "Dec 12 11:00"}, {"filename": "bin", "flags": "drwxr-xr-x@", "links": 39, "owner": "root", "group": "wheel", "size": null, "date": "Jul 18 2018"}, {"filename": "cores", "flags": "drwxrwxr-t@", "links": 2, "owner": "root", "group": "admin", "size": null, "date": "Apr 19 2016"}, {"filename": "dev", "flags": "dr-xr-xr-x", "links": 3, "owner": "root", "group": "wheel", "size": null, "date": "Dec 2 22:45"}, {"filename": "etc", "link_to": "private/etc", "flags": "lrwxr-xr-x@", "links": 1, "owner": "root", "group": "wheel", "size": null, "date": "Apr 19 2016"}, {"filename": "home", "flags": "dr-xr-xr-x", "links": 2, "owner": "root", "group": "wheel", "size": null, "date": "Dec 2 22:45"}, {"filename": "installer.failurerequests", "flags": "-rw-r--r--@", "links": 1, "owner": "root", "group": "wheel", "size": null, "date": "Aug 2 2015"}, {"filename": "lost+found", "flags": "drwxrwxrwt@", "links": 3, "owner": "root", "group": "wheel", "size": null, "date": "Jul 29 2017"}, {"filename": "net", "flags": "dr-xr-xr-x", "links": 2, "owner": "root", "group": "wheel", "size": null, "date": "Dec 2 22:45"}, {"filename": "private", "flags": "drwxr-xr-x@", "links": 6, "owner": "root", "group": "wheel", "size": null, "date": "Apr 19 2016"}, {"filename": "recover", "flags": "drwxr-xr-x", "links": 3, "owner": "kelly", "group": "wheel", "size": null, "date": "Aug 4 2012"}, {"filename": "sbin", "flags": "drwxr-xr-x@", "links": 59, "owner": "root", "group": "wheel", "size": null, "date": "Jul 18 2018"}, {"filename": "tmp", "link_to": "private/tmp", "flags": "lrwxr-xr-x@", "links": 1, "owner": "root", "group": "wheel", "size": null, "date": "Apr 19 2016"}, {"filename": "usr", "flags": "drwxr-xr-x@", "links": 13, "owner": "root", "group": "wheel", "size": null, "date": "Jun 7 2018"}, {"filename": "var", "link_to": "private/var", "flags": "lrwxr-xr-x@", "links": 1, "owner": "root", "group": "wheel", "size": null, "date": "Apr 19 2016"}]
[{"filename":".","flags":"drwxr-xr-x","links":33,"owner":"root","group":"wheel","size":1,"date":"Oct 2 10:55"},{"filename":"..","flags":"drwxr-xr-x","links":33,"owner":"root","group":"wheel","size":1,"date":"Oct 2 10:55"},{"filename":".DS_Store","flags":"-rw-rw-r--","links":1,"owner":"root","group":"admin","size":6,"date":"Nov 8 2018"},{"filename":".DocumentRevisions-V100","flags":"d--x--x--x","links":9,"owner":"root","group":"wheel","size":306,"date":"Dec 2 22:46"},{"filename":".MobileBackups","flags":"drwxr-xr-x+","links":3,"owner":"root","group":"wheel","size":102,"date":"Oct 2 10:56"},{"filename":".Spotlight-V100","flags":"drwx------","links":5,"owner":"root","group":"wheel","size":170,"date":"Jul 8 2011"},{"filename":".Trashes","flags":"d-wx-wx-wt","links":2,"owner":"root","group":"wheel","size":68,"date":"Nov 10 2014"},{"filename":".file","flags":"----------","links":1,"owner":"root","group":"admin","size":0,"date":"Feb 25 2016"},{"filename":".fseventsd","flags":"drwx------","links":6,"owner":"root","group":"wheel","size":204,"date":"Dec 12 11:10"},{"filename":".vol","flags":"drwxr-xr-x@","links":2,"owner":"root","group":"wheel","size":68,"date":"Apr 19 2016"},{"filename":"Applications","flags":"drwxrwxr-x+","links":70,"owner":"root","group":"admin","size":2,"date":"Dec 12 11:09"},{"filename":"Library","flags":"drwxr-xr-x+","links":64,"owner":"root","group":"wheel","size":2,"date":"Jun 7 2018"},{"filename":"Network","flags":"drwxr-xr-x@","links":2,"owner":"root","group":"wheel","size":68,"date":"Apr 19 2016"},{"filename":"System","flags":"drwxr-xr-x@","links":4,"owner":"root","group":"wheel","size":136,"date":"Jul 18 2018"},{"filename":"User Guides And Information","link_to":"/Library/Documentation/User Guides and Information.localized","flags":"lrwxr-xr-x","links":1,"owner":"root","group":"wheel","size":60,"date":"Jan 25 2012"},{"filename":"Users","flags":"drwxr-xr-x","links":5,"owner":"root","group":"admin","size":170,"date":"Apr 19 2016"},{"filename":"Volumes","flags":"drwxrwxrwt@","links":5,"owner":"root","group":"admin","size":170,"date":"Dec 12 11:00"},{"filename":"bin","flags":"drwxr-xr-x@","links":39,"owner":"root","group":"wheel","size":1,"date":"Jul 18 2018"},{"filename":"cores","flags":"drwxrwxr-t@","links":2,"owner":"root","group":"admin","size":68,"date":"Apr 19 2016"},{"filename":"dev","flags":"dr-xr-xr-x","links":3,"owner":"root","group":"wheel","size":4,"date":"Dec 2 22:45"},{"filename":"etc","link_to":"private/etc","flags":"lrwxr-xr-x@","links":1,"owner":"root","group":"wheel","size":11,"date":"Apr 19 2016"},{"filename":"home","flags":"dr-xr-xr-x","links":2,"owner":"root","group":"wheel","size":1,"date":"Dec 2 22:45"},{"filename":"installer.failurerequests","flags":"-rw-r--r--@","links":1,"owner":"root","group":"wheel","size":313,"date":"Aug 2 2015"},{"filename":"lost+found","flags":"drwxrwxrwt@","links":3,"owner":"root","group":"wheel","size":102,"date":"Jul 29 2017"},{"filename":"net","flags":"dr-xr-xr-x","links":2,"owner":"root","group":"wheel","size":1,"date":"Dec 2 22:45"},{"filename":"private","flags":"drwxr-xr-x@","links":6,"owner":"root","group":"wheel","size":204,"date":"Apr 19 2016"},{"filename":"recover","flags":"drwxr-xr-x","links":3,"owner":"kelly","group":"wheel","size":102,"date":"Aug 4 2012"},{"filename":"sbin","flags":"drwxr-xr-x@","links":59,"owner":"root","group":"wheel","size":2,"date":"Jul 18 2018"},{"filename":"tmp","link_to":"private/tmp","flags":"lrwxr-xr-x@","links":1,"owner":"root","group":"wheel","size":11,"date":"Apr 19 2016"},{"filename":"usr","flags":"drwxr-xr-x@","links":13,"owner":"root","group":"wheel","size":442,"date":"Jun 7 2018"},{"filename":"var","link_to":"private/var","flags":"lrwxr-xr-x@","links":1,"owner":"root","group":"wheel","size":11,"date":"Apr 19 2016"}]

View File

@ -1 +1 @@
[{"filename": ".", "flags": "drwxr-xr-x", "links": 34, "owner": "root", "group": "wheel", "size": null, "date": "Dec 12 00:13"}, {"filename": "..", "flags": "drwxr-xr-x", "links": 34, "owner": "root", "group": "wheel", "size": null, "date": "Dec 12 00:13"}, {"filename": ".DS_Store", "flags": "-rw-rw-r--", "links": 1, "owner": "root", "group": "admin", "size": null, "date": "Jul 25 18:21"}, {"filename": ".DocumentRevisions-V100", "flags": "d--x--x--x", "links": 9, "owner": "root", "group": "wheel", "size": null, "date": "Dec 12 00:14"}, {"filename": ".OSInstallerMessages", "flags": "-rw-r--r--", "links": 1, "owner": "root", "group": "wheel", "size": null, "date": "Dec 12 00:13"}, {"filename": ".PKInstallSandboxManager", "flags": "drwxr-xr-x", "links": 2, "owner": "root", "group": "wheel", "size": null, "date": "May 4 2019"}, {"filename": ".PKInstallSandboxManager-SystemSoftware", "flags": "drwx------", "links": 2, "owner": "root", "group": "admin", "size": null, "date": "Dec 12 00:13"}, {"filename": ".Spotlight-V100", "flags": "drwx------", "links": 5, "owner": "root", "group": "wheel", "size": null, "date": "May 4 2019"}, {"filename": ".file", "flags": "----------", "links": 1, "owner": "root", "group": "admin", "size": null, "date": "Feb 25 2019"}, {"filename": ".fseventsd", "flags": "drwx------", "links": 68, "owner": "kbrazil", "group": "staff", "size": null, "date": "Dec 12 09:47"}, {"filename": ".vol", "flags": "drwxr-xr-x", "links": 2, "owner": "root", "group": "wheel", "size": null, "date": "Feb 25 2019"}, {"filename": "Applications", "flags": "drwxrwxr-x+", "links": 73, "owner": "root", "group": "admin", "size": null, "date": "Dec 12 00:36"}, {"filename": "Library", "flags": "drwxr-xr-x+", "links": 69, "owner": "root", "group": "wheel", "size": null, "date": "Dec 12 00:35"}, {"filename": "Network", "flags": "drwxr-xr-x", "links": 2, "owner": "root", "group": "wheel", "size": null, "date": "Feb 25 2019"}, {"filename": "System", "flags": "drwxr-xr-x@", "links": 5, "owner": "root", "group": "wheel", "size": null, "date": "May 3 2019"}, {"filename": "Users", "flags": "drwxr-xr-x", "links": 8, "owner": "root", "group": "admin", "size": null, "date": "Oct 14 07:21"}, {"filename": "Volumes", "flags": "drwxr-xr-x+", "links": 6, "owner": "root", "group": "wheel", "size": null, "date": "Dec 12 08:56"}, {"filename": "bin", "flags": "drwxr-xr-x@", "links": 37, "owner": "root", "group": "wheel", "size": null, "date": "Dec 12 00:12"}, {"filename": "cores", "flags": "drwxrwxr-t", "links": 2, "owner": "root", "group": "admin", "size": null, "date": "Feb 25 2019"}, {"filename": "dev", "flags": "dr-xr-xr-x", "links": 3, "owner": "root", "group": "wheel", "size": null, "date": "Dec 12 00:14"}, {"filename": "etc", "link_to": "private/etc", "flags": "lrwxr-xr-x@", "links": 1, "owner": "root", "group": "wheel", "size": null, "date": "May 4 2019"}, {"filename": "home", "flags": "dr-xr-xr-x", "links": 2, "owner": "root", "group": "wheel", "size": null, "date": "Dec 12 07:41"}, {"filename": "installer.failurerequests", "flags": "-rw-r--r--", "links": 1, "owner": "root", "group": "wheel", "size": null, "date": "Feb 24 2019"}, {"filename": "net", "flags": "dr-xr-xr-x", "links": 2, "owner": "root", "group": "wheel", "size": null, "date": "Dec 12 07:41"}, {"filename": "obj_1_uhYWBO", "flags": "-rw-------", "links": 1, "owner": "root", "group": "wheel", "size": null, "date": "Jul 30 21:02"}, {"filename": "obj_2_Q0HjZP", "flags": "-rw-------", "links": 1, "owner": "root", "group": "wheel", "size": null, "date": "Jul 30 21:02"}, {"filename": "obj_3_OUvCmT", "flags": "-rw-------", "links": 1, "owner": "root", "group": "wheel", "size": null, "date": "Jul 30 21:02"}, {"filename": "obj_4_q0hkvG", "flags": "-rw-------", "links": 1, "owner": "root", "group": "wheel", "size": null, "date": "Jul 30 21:02"}, {"filename": "obj_5_qmI8ZT", "flags": "-rw-------", "links": 1, "owner": "root", "group": "wheel", "size": null, "date": "Jul 30 21:02"}, {"filename": "private", "flags": "drwxr-xr-x", "links": 6, "owner": "root", "group": "wheel", "size": null, "date": "May 3 2019"}, {"filename": "sbin", "flags": "drwxr-xr-x@", "links": 64, "owner": "root", "group": "wheel", "size": null, "date": "Dec 12 00:12"}, {"filename": "tmp", "link_to": "private/tmp", "flags": "lrwxr-xr-x@", "links": 1, "owner": "root", "group": "wheel", "size": null, "date": "May 4 2019"}, {"filename": "usr", "flags": "drwxr-xr-x@", "links": 9, "owner": "root", "group": "wheel", "size": null, "date": "May 3 2019"}, {"filename": "var", "link_to": "private/var", "flags": "lrwxr-xr-x@", "links": 1, "owner": "root", "group": "wheel", "size": null, "date": "May 4 2019"}]
[{"filename":".","flags":"drwxr-xr-x","links":34,"owner":"root","group":"wheel","size":1,"date":"Dec 12 00:13"},{"filename":"..","flags":"drwxr-xr-x","links":34,"owner":"root","group":"wheel","size":1,"date":"Dec 12 00:13"},{"filename":".DS_Store","flags":"-rw-rw-r--","links":1,"owner":"root","group":"admin","size":8,"date":"Jul 25 18:21"},{"filename":".DocumentRevisions-V100","flags":"d--x--x--x","links":9,"owner":"root","group":"wheel","size":288,"date":"Dec 12 00:14"},{"filename":".OSInstallerMessages","flags":"-rw-r--r--","links":1,"owner":"root","group":"wheel","size":992,"date":"Dec 12 00:13"},{"filename":".PKInstallSandboxManager","flags":"drwxr-xr-x","links":2,"owner":"root","group":"wheel","size":64,"date":"May 4 2019"},{"filename":".PKInstallSandboxManager-SystemSoftware","flags":"drwx------","links":2,"owner":"root","group":"admin","size":64,"date":"Dec 12 00:13"},{"filename":".Spotlight-V100","flags":"drwx------","links":5,"owner":"root","group":"wheel","size":160,"date":"May 4 2019"},{"filename":".file","flags":"----------","links":1,"owner":"root","group":"admin","size":0,"date":"Feb 25 2019"},{"filename":".fseventsd","flags":"drwx------","links":68,"owner":"kbrazil","group":"staff","size":2,"date":"Dec 12 09:47"},{"filename":".vol","flags":"drwxr-xr-x","links":2,"owner":"root","group":"wheel","size":64,"date":"Feb 25 2019"},{"filename":"Applications","flags":"drwxrwxr-x+","links":73,"owner":"root","group":"admin","size":2,"date":"Dec 12 00:36"},{"filename":"Library","flags":"drwxr-xr-x+","links":69,"owner":"root","group":"wheel","size":2,"date":"Dec 12 00:35"},{"filename":"Network","flags":"drwxr-xr-x","links":2,"owner":"root","group":"wheel","size":64,"date":"Feb 25 2019"},{"filename":"System","flags":"drwxr-xr-x@","links":5,"owner":"root","group":"wheel","size":160,"date":"May 3 2019"},{"filename":"Users","flags":"drwxr-xr-x","links":8,"owner":"root","group":"admin","size":256,"date":"Oct 14 07:21"},{"filename":"Volumes","flags":"drwxr-xr-x+","links":6,"owner":"root","group":"wheel","size":192,"date":"Dec 12 08:56"},{"filename":"bin","flags":"drwxr-xr-x@","links":37,"owner":"root","group":"wheel","size":1,"date":"Dec 12 00:12"},{"filename":"cores","flags":"drwxrwxr-t","links":2,"owner":"root","group":"admin","size":64,"date":"Feb 25 2019"},{"filename":"dev","flags":"dr-xr-xr-x","links":3,"owner":"root","group":"wheel","size":8,"date":"Dec 12 00:14"},{"filename":"etc","link_to":"private/etc","flags":"lrwxr-xr-x@","links":1,"owner":"root","group":"wheel","size":11,"date":"May 4 2019"},{"filename":"home","flags":"dr-xr-xr-x","links":2,"owner":"root","group":"wheel","size":1,"date":"Dec 12 07:41"},{"filename":"installer.failurerequests","flags":"-rw-r--r--","links":1,"owner":"root","group":"wheel","size":313,"date":"Feb 24 2019"},{"filename":"net","flags":"dr-xr-xr-x","links":2,"owner":"root","group":"wheel","size":1,"date":"Dec 12 07:41"},{"filename":"obj_1_uhYWBO","flags":"-rw-------","links":1,"owner":"root","group":"wheel","size":12,"date":"Jul 30 21:02"},{"filename":"obj_2_Q0HjZP","flags":"-rw-------","links":1,"owner":"root","group":"wheel","size":9,"date":"Jul 30 21:02"},{"filename":"obj_3_OUvCmT","flags":"-rw-------","links":1,"owner":"root","group":"wheel","size":16,"date":"Jul 30 21:02"},{"filename":"obj_4_q0hkvG","flags":"-rw-------","links":1,"owner":"root","group":"wheel","size":16,"date":"Jul 30 21:02"},{"filename":"obj_5_qmI8ZT","flags":"-rw-------","links":1,"owner":"root","group":"wheel","size":9,"date":"Jul 30 21:02"},{"filename":"private","flags":"drwxr-xr-x","links":6,"owner":"root","group":"wheel","size":192,"date":"May 3 2019"},{"filename":"sbin","flags":"drwxr-xr-x@","links":64,"owner":"root","group":"wheel","size":2,"date":"Dec 12 00:12"},{"filename":"tmp","link_to":"private/tmp","flags":"lrwxr-xr-x@","links":1,"owner":"root","group":"wheel","size":11,"date":"May 4 2019"},{"filename":"usr","flags":"drwxr-xr-x@","links":9,"owner":"root","group":"wheel","size":288,"date":"May 3 2019"},{"filename":"var","link_to":"private/var","flags":"lrwxr-xr-x@","links":1,"owner":"root","group":"wheel","size":11,"date":"May 4 2019"}]

View File

@ -1 +1 @@
[{"filename": ".", "flags": "drwxr-xr-x", "links": 24, "owner": "root", "group": "root", "size": null, "date": "Oct 24 06:33"}, {"filename": "..", "flags": "drwxr-xr-x", "links": 24, "owner": "root", "group": "root", "size": null, "date": "Oct 24 06:33"}, {"filename": "bin", "flags": "drwxr-xr-x", "links": 2, "owner": "root", "group": "root", "size": null, "date": "Oct 18 00:12"}, {"filename": "boot", "flags": "drwxr-xr-x", "links": 3, "owner": "root", "group": "root", "size": null, "date": "Oct 25 07:14"}, {"filename": "cdrom", "flags": "drwxr-xr-x", "links": 2, "owner": "root", "group": "root", "size": null, "date": "Aug 12 17:21"}, {"filename": "dev", "flags": "drwxr-xr-x", "links": 19, "owner": "root", "group": "root", "size": null, "date": "Oct 24 06:33"}, {"filename": "etc", "flags": "drwxr-xr-x", "links": 93, "owner": "root", "group": "root", "size": null, "date": "Oct 24 06:32"}, {"filename": "home", "flags": "drwxr-xr-x", "links": 3, "owner": "root", "group": "root", "size": null, "date": "Aug 12 17:24"}, {"filename": "initrd.img", "link_to": "boot/initrd.img-4.15.0-66-generic", "flags": "lrwxrwxrwx", "links": 1, "owner": "root", "group": "root", "size": 33, "date": "Oct 24 06:33"}, {"filename": "initrd.img.old", "link_to": "boot/initrd.img-4.15.0-65-generic", "flags": "lrwxrwxrwx", "links": 1, "owner": "root", "group": "root", "size": 33, "date": "Oct 24 06:33"}, {"filename": "lib", "flags": "drwxr-xr-x", "links": 23, "owner": "root", "group": "root", "size": null, "date": "Oct 18 00:14"}, {"filename": "lib64", "flags": "drwxr-xr-x", "links": 2, "owner": "root", "group": "root", "size": null, "date": "Aug 5 19:23"}, {"filename": "lost+found", "flags": "drwx------", "links": 2, "owner": "root", "group": "root", "size": null, "date": "Aug 12 17:21"}, {"filename": "media", "flags": "drwxr-xr-x", "links": 2, "owner": "root", "group": "root", "size": null, "date": "Aug 5 19:22"}, {"filename": "mnt", "flags": "drwxr-xr-x", "links": 2, "owner": "root", "group": "root", "size": null, "date": "Aug 5 19:22"}, {"filename": "opt", "flags": "drwxr-xr-x", "links": 3, "owner": "root", "group": "root", "size": null, "date": "Aug 14 02:02"}, {"filename": "proc", "flags": "dr-xr-xr-x", "links": 184, "owner": "root", "group": "root", "size": 0, "date": "Oct 21 20:17"}, {"filename": "root", "flags": "drwx------", "links": 4, "owner": "root", "group": "root", "size": null, "date": "Aug 13 23:27"}, {"filename": "run", "flags": "drwxr-xr-x", "links": 29, "owner": "root", "group": "root", "size": null, "date": "Oct 28 08:49"}, {"filename": "sbin", "flags": "drwxr-xr-x", "links": 2, "owner": "root", "group": "root", "size": null, "date": "Oct 18 00:11"}, {"filename": "snap", "flags": "drwxr-xr-x", "links": 9, "owner": "root", "group": "root", "size": null, "date": "Aug 14 02:01"}, {"filename": "srv", "flags": "drwxr-xr-x", "links": 2, "owner": "root", "group": "root", "size": null, "date": "Aug 5 19:22"}, {"filename": "swap.img", "flags": "-rw-------", "links": 1, "owner": "root", "group": "root", "size": null, "date": "Aug 12 17:22"}, {"filename": "sys", "flags": "dr-xr-xr-x", "links": 13, "owner": "root", "group": "root", "size": 0, "date": "Oct 22 00:54"}, {"filename": "tmp", "flags": "drwxrwxrwt", "links": 11, "owner": "root", "group": "root", "size": null, "date": "Oct 28 19:42"}, {"filename": "usr", "flags": "drwxr-xr-x", "links": 10, "owner": "root", "group": "root", "size": null, "date": "Aug 5 19:22"}, {"filename": "var", "flags": "drwxr-xr-x", "links": 13, "owner": "root", "group": "root", "size": null, "date": "Aug 5 19:24"}, {"filename": "vmlinuz", "link_to": "boot/vmlinuz-4.15.0-66-generic", "flags": "lrwxrwxrwx", "links": 1, "owner": "root", "group": "root", "size": 30, "date": "Oct 24 06:33"}, {"filename": "vmlinuz.old", "link_to": "boot/vmlinuz-4.15.0-65-generic", "flags": "lrwxrwxrwx", "links": 1, "owner": "root", "group": "root", "size": 30, "date": "Oct 24 06:33"}]
[{"filename":".","flags":"drwxr-xr-x","links":24,"owner":"root","group":"root","size":4,"date":"Oct 24 06:33"},{"filename":"..","flags":"drwxr-xr-x","links":24,"owner":"root","group":"root","size":4,"date":"Oct 24 06:33"},{"filename":"bin","flags":"drwxr-xr-x","links":2,"owner":"root","group":"root","size":4,"date":"Oct 18 00:12"},{"filename":"boot","flags":"drwxr-xr-x","links":3,"owner":"root","group":"root","size":4,"date":"Oct 25 07:14"},{"filename":"cdrom","flags":"drwxr-xr-x","links":2,"owner":"root","group":"root","size":4,"date":"Aug 12 17:21"},{"filename":"dev","flags":"drwxr-xr-x","links":19,"owner":"root","group":"root","size":4,"date":"Oct 24 06:33"},{"filename":"etc","flags":"drwxr-xr-x","links":93,"owner":"root","group":"root","size":4,"date":"Oct 24 06:32"},{"filename":"home","flags":"drwxr-xr-x","links":3,"owner":"root","group":"root","size":4,"date":"Aug 12 17:24"},{"filename":"initrd.img","link_to":"boot/initrd.img-4.15.0-66-generic","flags":"lrwxrwxrwx","links":1,"owner":"root","group":"root","size":33,"date":"Oct 24 06:33"},{"filename":"initrd.img.old","link_to":"boot/initrd.img-4.15.0-65-generic","flags":"lrwxrwxrwx","links":1,"owner":"root","group":"root","size":33,"date":"Oct 24 06:33"},{"filename":"lib","flags":"drwxr-xr-x","links":23,"owner":"root","group":"root","size":4,"date":"Oct 18 00:14"},{"filename":"lib64","flags":"drwxr-xr-x","links":2,"owner":"root","group":"root","size":4,"date":"Aug 5 19:23"},{"filename":"lost+found","flags":"drwx------","links":2,"owner":"root","group":"root","size":16,"date":"Aug 12 17:21"},{"filename":"media","flags":"drwxr-xr-x","links":2,"owner":"root","group":"root","size":4,"date":"Aug 5 19:22"},{"filename":"mnt","flags":"drwxr-xr-x","links":2,"owner":"root","group":"root","size":4,"date":"Aug 5 19:22"},{"filename":"opt","flags":"drwxr-xr-x","links":3,"owner":"root","group":"root","size":4,"date":"Aug 14 02:02"},{"filename":"proc","flags":"dr-xr-xr-x","links":184,"owner":"root","group":"root","size":0,"date":"Oct 21 20:17"},{"filename":"root","flags":"drwx------","links":4,"owner":"root","group":"root","size":4,"date":"Aug 13 23:27"},{"filename":"run","flags":"drwxr-xr-x","links":29,"owner":"root","group":"root","size":1,"date":"Oct 28 08:49"},{"filename":"sbin","flags":"drwxr-xr-x","links":2,"owner":"root","group":"root","size":12,"date":"Oct 18 00:11"},{"filename":"snap","flags":"drwxr-xr-x","links":9,"owner":"root","group":"root","size":4,"date":"Aug 14 02:01"},{"filename":"srv","flags":"drwxr-xr-x","links":2,"owner":"root","group":"root","size":4,"date":"Aug 5 19:22"},{"filename":"swap.img","flags":"-rw-------","links":1,"owner":"root","group":"root","size":2,"date":"Aug 12 17:22"},{"filename":"sys","flags":"dr-xr-xr-x","links":13,"owner":"root","group":"root","size":0,"date":"Oct 22 00:54"},{"filename":"tmp","flags":"drwxrwxrwt","links":11,"owner":"root","group":"root","size":4,"date":"Oct 28 19:42"},{"filename":"usr","flags":"drwxr-xr-x","links":10,"owner":"root","group":"root","size":4,"date":"Aug 5 19:22"},{"filename":"var","flags":"drwxr-xr-x","links":13,"owner":"root","group":"root","size":4,"date":"Aug 5 19:24"},{"filename":"vmlinuz","link_to":"boot/vmlinuz-4.15.0-66-generic","flags":"lrwxrwxrwx","links":1,"owner":"root","group":"root","size":30,"date":"Oct 24 06:33"},{"filename":"vmlinuz.old","link_to":"boot/vmlinuz-4.15.0-65-generic","flags":"lrwxrwxrwx","links":1,"owner":"root","group":"root","size":30,"date":"Oct 24 06:33"}]

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long