Anonymous user
Create a file on magnetic tape: Difference between revisions
→{{header|Go}}: Simplify and de-clutter by remove unnecessary stuff (except for gzip)
(Adds Clojure solution) |
(→{{header|Go}}: Simplify and de-clutter by remove unnecessary stuff (except for gzip)) |
||
Line 41:
(or written to a file or a device such as /dev/tape).
The tar archive will contain a single file, called <tt>TAPE.FILE</tt> by default,
with the contents of the command line <tt>-data</tt> option
<lang go>package main
Line 49:
"flag"
"io"
"io/ioutil"▼
"log"
"os"
"time"
)
Line 58 ⟶ 56:
func main() {
filename := flag.String("file", "TAPE.FILE", "filename within TAR")
outfile := flag.String("out", "", "output file or device (e.g. /dev/tape)")
gzipFlag := flag.Bool("gzip", false, "use gzip compression")
flag.Parse()
var w io.Writer = os.Stdout
Line 95 ⟶ 79:
tw := tar.NewWriter(w)
defer tw.Close()
Name: *filename,
Mode: 0660,
Size: int64(len(*data)),
ModTime: time.Now(),
Typeflag: tar.TypeReg,
Uname:
Gname:
})
_, err :=
if err != nil {
log.Fatal("writing data:", err)
Line 113 ⟶ 96:
}</lang>
{{out}}
<pre>
% go run tapefile.go -data "Hello World" -gzip | tar -tvzf -
-rw-rw---- 0 guest guest
=={{header|Icon}} and {{header|Unicon}}==
|