41 lines
		
	
	
		
			872 B
		
	
	
	
		
			Plaintext
		
	
	
	
			
		
		
	
	
			41 lines
		
	
	
		
			872 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.
 | 
						|
 | 
						|
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: }
 | 
						|
 |