.bun files


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers .bun files
# 1  
Old 05-14-2010
.bun files

Can anyone explain how .bun documents work?

It's seems like a beautifully simple concept as it uses only echo, sed and the Bourne shell's features.

When this plain text file is executed it yields several docs in pure troff (sed removes the "-" prefix to each line). I am guessing these represent the individual pages.

So is a .bun file just a HERE doc?

I'm still learning troff and so far I only know a few basic commands. I presume I'm supposed to convert these "pages" into a single postscript file. Is having the document in split into multiple pages like this easier for troff to process?

Anyway, here's an example:

Code:
# To unbundle, run this file
echo cdoc0
sed 's/.//' >cdoc0 <<'//GO.SYSIN DD cdoc0'
-.TL
-A Tour through the UNIX\(dg C Compiler
-.AU "MH 2C517 3770
-D. M. Ritchie
-.AI
-.MH
-.OK

...more troff commands and text...

//GO.SYSIN DD cdoc0
echo cdoc1
sed 's/.//' >cdoc1 <<'//GO.SYSIN DD cdoc1'

...troff commands and text...

//GO.SYSIN DD cdoc1
echo cdoc2
sed 's/.//' >cdoc2 <<'//GO.SYSIN DD cdoc2'

...troff commands and text...

//GO.SYSIN DD cdoc2
echo cdoc3
sed 's/.//' >cdoc3 <<'//GO.SYSIN DD cdoc3'

...troff commmands and text...

//GO.SYSIN DD cdoc3
echo cdoc4
sed 's/.//' >cdoc4 <<'//GO.SYSIN DD cdoc4'

...troff commands and text...

//GO.SYSIN DD cdoc4

...troff commands and text...

Cheers!

Last edited by Scott; 05-14-2010 at 03:47 AM.. Reason: Code tags, please...
# 2  
Old 05-14-2010
Those bits containing TROFF text etc. are "here documents". They allow you to conveniently redirect large amounts of almost-raw text from the script itself into a process, which makes it relatively easy to bundle it all together.

Code:
cat > outfile <<EOF
This "here document" was written by ${USER} at $(date)
...any number of lines of text not starting with EOF...
EOF

Note the ending EOF must start at the beginning of the line. EOF can also be any string as long as the starting and ending one match. Also note that substitutions are allowed, so if you want certain text to be literal( $ signs, and so forth) they must be escaped.

Here they are using sed to chop off the first character of every line. They've added dashes to the front of every line to guarantee that the here document won't end prematurely if someone feeds it just the right string to terminate it, i.e. "//GO.SYSIN DD cdoc1"

This file was probably generated by another script. I've seen this sort of thing done occasionally but haven't stumbled across the generator for them.

Last edited by Corona688; 05-14-2010 at 12:51 PM..
# 3  
Old 05-14-2010
Note the Author: Dennis Ritchie

These things have been around forever, like SHAR files.
# 4  
Old 05-14-2010
Hi.

I could not find bun at first because one web page, that of: Tim Goodwin, was not currently available as linked from Linux Online - Application: bun

I used the Wayback machine, and you can get bun from there:

bun - bundle many files together

The tar file contains almost 200 files, c source mostly.

However, I think shar is likely better (does MD% checksums, etc), and is likely available on / for most *nix systems, supported, etc. ... cheers, drl
# 5  
Old 05-19-2010
A belated thanks for the responses.
It is interesting.
I notice than Plan 9 retained the bun program.
 
Login or Register to Ask a Question

Previous Thread | Next Thread

9 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Automate splitting of files , scp files as each split completes and combine files on target server

i use the split command to split a one terabyte backup file into 10 chunks of 100 GB each. The files are split one after the other. While the files is being split, I will like to scp the files one after the other as soon as the previous one completes, from server A to Server B. Then on server B ,... (2 Replies)
Discussion started by: malaika
2 Replies

2. Shell Programming and Scripting

Shell script for field wise record count for different Files .csv files

Hi, Very good wishes to all! Please help to provide the shell script for generating the record counts in filed wise from the .csv file My question: Source file: Field1 Field2 Field3 abc 12f sLm 1234 hjd 12d Hyd 34 Chn My target file should generate the .csv file with the... (14 Replies)
Discussion started by: Kirands
14 Replies

3. Shell Programming and Scripting

Append string to all the files inside a directory excluding subdirectories and .zip files

Hii, Could someone help me to append string to the starting of all the filenames inside a directory but it should exclude .zip files and subdirectories. Eg. file1: test1.log file2: test2.log file3 test.zip After running the script file1: string_test1.log file2: string_test2.log file3:... (4 Replies)
Discussion started by: Ravi Kishore
4 Replies

4. Shell Programming and Scripting

Bash script deleting my files, and editing files in subdirectories question

#!/bin/bash # name=$1 type=$2 number=1 for file in ./** do if then filenumber=00$number elif then filenumber=0$number fi tempname="$name""$filenumber"."$type" if (4 Replies)
Discussion started by: TheGreatGizmo
4 Replies

5. Shell Programming and Scripting

How to create zip/gz/tar files for if the files are older than particular days in UNIX or Linux?

I need a script file for backup (zip or tar or gz) of old log files in our unix server (causing the space problem). Could you please help me to create the zip or gz files for each log files in current directory and sub-directories also? I found one command which is to create gz file for the... (4 Replies)
Discussion started by: Mallikgm
4 Replies

6. Shell Programming and Scripting

need a shell script to extract the files from source file and check whether those files existonserve

Hi, I am new to shell scripting.Please help me on this.I am using solaris 10 OS and shell i am using is # echo $0 -sh My requirement is i have source file say makefile.I need to extract files with extensions (.c |.cxx |.h |.hxx |.sc) from the makefile.after doing so i need to check whether... (13 Replies)
Discussion started by: muraliinfy04
13 Replies

7. UNIX for Dummies Questions & Answers

write a program in c in unix that display the files(includ sub-direc and files within) in a sorted

the sorting is based on name of file, file size modification time stamps o f file it should dislay the output in the following format "." and ".." enteries should be ignored please give some idea how to do it (1 Reply)
Discussion started by: pappu kumar jha
1 Replies

8. Shell Programming and Scripting

How to extract data from indexed files (ISAM files) maintained in an unix server.

Hi, Could someone please assist on a quick way of How to extract data from indexed files (ISAM files) maintained in an UNIX(AIX) server.The file data needs to be extracted in flat text file or CSV or excel format . Usually we have programs in microfocus COBOL to extract data, but would like... (2 Replies)
Discussion started by: devina
2 Replies

9. Shell Programming and Scripting

How to retrieve all the linked script files/ctl files/sql files?

Hi I am going to migrate our datawarehouse system from HP Tru 64 Unix to the Red Hat Linux. Inside the box, it is running around 40 cron jobs; inside each cron job, it is calling other shell script files, and the shell script files may again call other shell script files or ctl files(for... (1 Reply)
Discussion started by: franksubramania
1 Replies
Login or Register to Ask a Question