Skip to content

Instantly share code, notes, and snippets.

@vbatts
Created August 14, 2015 18:05
Show Gist options
  • Save vbatts/2315184621a8e516c1e5 to your computer and use it in GitHub Desktop.
Save vbatts/2315184621a8e516c1e5 to your computer and use it in GitHub Desktop.
show-tar-header
package main
import (
"archive/tar"
"flag"
"fmt"
"io"
"os"
)
func main() {
flag.Parse()
var r io.Reader
if flag.NArg() > 0 {
fh, err := os.Open(flag.Args()[0])
if err != nil {
fmt.Fprintln(os.Stderr, err)
os.Exit(1)
}
defer fh.Close()
r = fh
} else {
r = os.Stdin
}
tR := tar.NewReader(r)
for {
var shouldBreak bool
hdr, err := tR.Next()
if err != nil && err != io.EOF {
fmt.Fprintln(os.Stderr, err)
os.Exit(1)
}
if err == io.EOF {
shouldBreak = true
}
if hdr == nil {
break
}
fmt.Printf("%#v\n", hdr)
if shouldBreak {
break
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment