summaryrefslogtreecommitdiffstats
path: root/usr.bin/cut
diff options
context:
space:
mode:
Diffstat (limited to 'usr.bin/cut')
-rw-r--r--usr.bin/cut/cut.19
-rw-r--r--usr.bin/cut/cut.c16
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");
OpenPOWER on IntegriCloud