diff options
author | tjr <tjr@FreeBSD.org> | 2002-05-24 09:56:18 +0000 |
---|---|---|
committer | tjr <tjr@FreeBSD.org> | 2002-05-24 09:56:18 +0000 |
commit | 2292a0fbefedec1f30c7492f750fe741b83985eb (patch) | |
tree | 88b6a98540665b285c9792ced968e18a4cba821b /usr.bin | |
parent | 1ccb024996b7c1dbe79c7e2759dae4dffa33eb67 (diff) | |
download | FreeBSD-src-2292a0fbefedec1f30c7492f750fe741b83985eb.zip FreeBSD-src-2292a0fbefedec1f30c7492f750fe741b83985eb.tar.gz |
When a file name of "-" is given, read from standard input (SUSv3)
Diffstat (limited to 'usr.bin')
-rw-r--r-- | usr.bin/cut/cut.1 | 9 | ||||
-rw-r--r-- | usr.bin/cut/cut.c | 16 |
2 files changed, 17 insertions, 8 deletions
diff --git a/usr.bin/cut/cut.1 b/usr.bin/cut/cut.1 index 65beeee..55fd456 100644 --- a/usr.bin/cut/cut.1 +++ b/usr.bin/cut/cut.1 @@ -61,8 +61,13 @@ utility selects portions of each line (as specified by .Ar list ) from each .Ar file -(or the standard input by default), and writes them to the -standard output. +and writes them to the standard output. +If no +.Ar file +arguments are specified, or a file argument is a single dash +.Pq Ql \&- , +.Nm +reads from from the standard input. The items specified by .Ar list can be in terms of column position or in terms of fields delimited diff --git a/usr.bin/cut/cut.c b/usr.bin/cut/cut.c index 12d0e83..1f67f2a 100644 --- a/usr.bin/cut/cut.c +++ b/usr.bin/cut/cut.c @@ -119,13 +119,17 @@ main(argc, argv) rval = 0; if (*argv) for (; *argv; ++argv) { - if (!(fp = fopen(*argv, "r"))) { - warn("%s", *argv); - rval = 1; - continue; + if (strcmp(*argv, "-") == 0) + fcn(stdin, "stdin"); + else { + if (!(fp = fopen(*argv, "r"))) { + warn("%s", *argv); + rval = 1; + continue; + } + fcn(fp, *argv); + (void)fclose(fp); } - fcn(fp, *argv); - (void)fclose(fp); } else fcn(stdin, "stdin"); |