use SQL like language to manipulate files
C Shell C++ Other
Switch branches/tags
Nothing to show
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
.gitignore
Makefile.am some work of list dir recursivly Aug 15, 2012
Makefile.in
README.md better readme Aug 15, 2012
TODO some work of list dir recursivly Aug 15, 2012
ast.cc
ast.h
configure some work of list dir recursivly Aug 15, 2012
configure.in
depcomp
expr.cc
expr.h
fql.cc
install-sh
lexer.c
lexer.cc
lexer.h
lexer.rl some work of list dir recursivly Aug 15, 2012
missing add some missing files for autoconf Aug 12, 2012
parser.c
parser.h
parser.y some work of list dir recursivly Aug 15, 2012
sys.cc
sys.h
table.cc
table.h
variant.cc
variant.h

README.md

fql

fql is a tool that use SQL like query to manipulate files.

Example

fql "select time, size, name from ../"
fql "select time, size, name from abc -r"  # scan abc recursivly
fql "select * where name = fql.cc"
fql "select * where not name = fql.cc"
fql "select time, size, name from . where size > 2.5k and size < 3k order by size desc"
echo "select * from . " | fql
or run fql to query intractivly

Available columns to select

name
path
perms
size
inode
uid
gid
uname
gname
atime
time : same as atime
mtime
ctime

Supported syntax

select [attrs]
from [folder] [-r]
where [expression]
order by [attrs]
limit [[start,] limit]

Build (libreadline is optional)

./configure && make

Install

copy ./fql to where you like, such as /usr/local/bin/.

or make install