fish-shell/tests/count.in
Fabian Homborg e7a964fdfa [count] Allow counting lines from stdin
As a simple replacement for `wc -l`.

This counts both lines on stdin _and_ arguments.

So if "file" has three lines, then `count a b c < file` will print 6.

And since it counts newlines, like wc, `echo -n foo | count` prints 0.
2019-03-15 14:31:36 +01:00

38 lines
617 B
Fish

# Validate the behavior of the `count` command.
logmsg no args
count
logmsg one args
count x
logmsg two args
count x y
logmsg args that look like flags or are otherwise special
count -h
count --help
count --
count -- abc
count def -- abc
logmsg big counts
# See #5611
for i in seq 500
set c1 (count (seq 1 10000))
test $c1 -eq 10000
or begin
echo "Count $c1 is not 10000"
break
end
end
logmsg stdin
# Reading from stdin still counts the arguments
printf '%s\n' 1 2 3 4 5 | count 6 7 8 9 10
# Reading from stdin counts newlines - like `wc -l`.
echo -n 0 | count
echo 1 | count