grep: add -H flag
This commit is contained in:
		
							
								
								
									
										6
									
								
								grep.1
									
									
									
									
									
								
							
							
						
						
									
										6
									
								
								grep.1
									
									
									
									
									
								
							| @@ -3,7 +3,7 @@ | ||||
| grep \- search files for a pattern | ||||
| .SH SYNOPSIS | ||||
| .B grep | ||||
| .RB [ \-Ecilnqv ] | ||||
| .RB [ \-EHcilnqv ] | ||||
| .RB [ \-e | ||||
| .I pattern ] | ||||
| .I pattern | ||||
| @@ -24,6 +24,10 @@ status code is 2. | ||||
| .B \-E | ||||
| matches using extended regex. | ||||
| .TP | ||||
| .B \-H | ||||
| prefixes each matching line with its filename in the output. This is the | ||||
| default when there is more than one file specified. | ||||
| .TP | ||||
| .B \-c | ||||
| prints only a count of matching lines. | ||||
| .TP | ||||
|   | ||||
							
								
								
									
										8
									
								
								grep.c
									
									
									
									
									
								
							
							
						
						
									
										8
									
								
								grep.c
									
									
									
									
									
								
							| @@ -15,6 +15,7 @@ static int grep(FILE *, const char *); | ||||
|  | ||||
| static int eflag = 0; | ||||
| static int vflag = 0; | ||||
| static int Hflag = 0; | ||||
| static int many; | ||||
| static char mode = 0; | ||||
|  | ||||
| @@ -27,7 +28,7 @@ static struct plist { | ||||
| static void | ||||
| usage(void) | ||||
| { | ||||
| 	enprintf(Error, "usage: %s [-Ecilnqv] [-e pattern] pattern [files...]\n", argv0); | ||||
| 	enprintf(Error, "usage: %s [-EHcilnqv] [-e pattern] pattern [files...]\n", argv0); | ||||
| } | ||||
|  | ||||
| int | ||||
| @@ -42,6 +43,9 @@ main(int argc, char *argv[]) | ||||
| 	case 'E': | ||||
| 		flags |= REG_EXTENDED; | ||||
| 		break; | ||||
| 	case 'H': | ||||
| 		Hflag = 1; | ||||
| 		break; | ||||
| 	case 'e': | ||||
| 		addpattern(EARGF(usage())); | ||||
| 		eflag = 1; | ||||
| @@ -143,7 +147,7 @@ grep(FILE *fp, const char *str) | ||||
| 			case 'q': | ||||
| 				exit(Match); | ||||
| 			default: | ||||
| 				if (many) | ||||
| 				if (many || Hflag) | ||||
| 					printf("%s:", str); | ||||
| 				if (mode == 'n') | ||||
| 					printf("%ld:", n); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user