42 lines
		
	
	
		
			941 B
		
	
	
	
		
			Plaintext
		
	
	
	
			
		
		
	
	
			42 lines
		
	
	
		
			941 B
		
	
	
	
		
			Plaintext
		
	
	
	
| fragment
 | |
| 
 | |
| This is a program to print a fragment of a file. It takes a filename,
 | |
| a starting line (lines are numbered starting at 1) and an optional
 | |
| end line or offset. It has one flag, `-nl`, which causes line numbers
 | |
| not to be printed.
 | |
| 
 | |
| For example, compare the output to `nl -ba fragment.go`:
 | |
| 
 | |
| $ fragment fragment.go 23 +6
 | |
| 23: func main() {
 | |
| 24:     flag.Parse()
 | |
| 25: 
 | |
| 26:     if flag.NArg() < 2 || flag.NArg() > 3 {
 | |
| 27:             usage()
 | |
| 28:             os.Exit(1)
 | |
| 29:     }
 | |
| 
 | |
| $ fragment fragment.go 25 30
 | |
| 25: 
 | |
| 26:     if flag.NArg() < 2 || flag.NArg() > 3 {
 | |
| 27:             usage()
 | |
| 28:             os.Exit(1)
 | |
| 29:     }
 | |
| 30: 
 | |
| 
 | |
| $ fragment fragment.go 80
 | |
| 80
 | |
| 80:             if n > end {
 | |
| 81:                     return true
 | |
| 82:             }
 | |
| 83:             return false
 | |
| 84:     }
 | |
| 85: 
 | |
| 86:     fmt.Println(start)
 | |
| 87:     fmtStr += "\n"
 | |
| 88:     for i := start; !endFunc(i); i++ {
 | |
| 89:             fmt.Printf(fmtStr, i, lines[i])
 | |
| 90:     }
 | |
| 91: }
 | |
| 
 |