Skip to content
This repository has been archived by the owner on Jul 2, 2023. It is now read-only.
/ xtest Public archive

[Feature complete] Variant of test(1) that can test multiple files from cmdline or stdin

License

Notifications You must be signed in to change notification settings

maandree/xtest

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NAME
	xtest - test file types and permissions of multiple files

SYNOPSIS
	xtest [-0bcdefghkLprSstuwx] [+bcdefghkLprSstuwx] [file ...]

DESCRIPTION
	xtest tests the file types and permissions of each specified
	file, if not file has been specified, a list file is read
	from stdin.

	All files that pass at least on of the tests are printed to
	stdout.

OPTIONS
	-0	Use NUL byte instead of <newline> to delimit files in
		both the input and the output.

	-e	File exists.

	-f | -d | -p | -hL | -S | -s | -b | -c
		File exists and is a (regular file [-f] | directory
		[-d] | named pipe [-p] | symbolic link [-h | -L] |
		socket [-S] | non-empty file [-s] | block special [-b] |
		character special [-c]).

	-k | -g | -u | -r | -w | -x
		File exists and has (sticky(1) [-k] | setgid(2) [-g] |
		setuid(4) [-u] | read(4) [-r] | write(2) [-w] |
		execute(1) [-x]) permissions.

	-t	Input is an file descriptor and is associated with a
		terminal.

	+e	File does not exist.

	+f | +d | +p | +hL | +S | +s | +b | +c
		File does not exist or is not a (regular file [+f] |
		directory [+d] | named pipe [+p] | symbolic link [+h |
		+L] | socket [+S] | non-empty file [+s] | block special
		[+b] | character special [+c]).

	+k | +g | +u | +r | +w | +x
		File does not exist or does not has (sticky(1) [+k] |
		setgid(2) [+g] | setuid(4) [+u] | read(4) [+r] |
		write(2) [+w] | execute(1) [+x]) permissions.

	+t	Input is not a file descriptor or is not associated
		with a terminal.

RATIONALE
	+-flags are included because it is too cumbersome to use
	comm(1).

	Only one test need to pass because this allows the user to
	represent the required condition in conjunctive normal form
	by pipe together multiple instances of xtest for conjunction.
	Disjunctive normal form is not as simple.

SEE ALSO
	test(1), find(1), xargs(1)

About

[Feature complete] Variant of test(1) that can test multiple files from cmdline or stdin

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published