Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

unblock_dlg(1) [debian man page]

UNBLOCK_DLG(1)						      General Commands Manual						    UNBLOCK_DLG(1)

NAME
unblock_dlg - Insert linefeeds into an optional-format Digital Line Graph (DLG) file SYNOPSIS
unblock_dlg [-L] DESCRIPTION
The drawmap program processes USGS optional-format Digital Line Graph (DLG) files (along with other types of files) to produce customized maps. Drawmap is able to read these files in their native format. However, since the files usually don't contain any linefeeds, they are difficult for a human to read. Unblock_dlg filters a DLG file and inserts linefeeds for human readability. It takes input from the stan- dard input and writes to the standard output. The input data must be in uncompressed form, not in gzip-compressed form. Also, unblock_dlg does not work with SDTS DLG files. Unblock_dlg normally takes no options, but, if you use the "-L" option, the program will print out some license information and exit. Some DLG files already have embedded linefeeds. Unblock_dlg makes a feeble attempt to detect these files and abort. If the detection fails, the results are likely to be garbled, so it is wise to check the format of each file first. The drawmap program, with the "-i" option, will attempt to tell you whether a file contains linefeeds or not. The intended use of unblock_dlg is simply to let you conveniently examine the files to see what is in them. However, if you are in the mood for adventure, or if you need to repair a defective file, you can use unblock_dlg to make the file easy to edit, then you can edit the file as desired. Drawmap can still process the files after linefeeds are inserted, but will become confused if any line (including the linefeed) is more than 80 characters long. Drawmap may also become confused if you make any significant changes to the format of the file. You can use this capability to remove selected items from DLG files, when those items cause problems. You may even be able to repair faulty data. However, you need to be familiar with the content and structure of DLG files in order to do this effectively. You also need to remember that drawmap depends on DLG files having a predictable structure, and it won't properly parse files that violate this pre- dictability. Do this sort of thing only if you know what you are doing, or if you have a lot of free time on your hands. It should be noted that you can obtain a similar effect by using the command recommended by the USGS: dd if=inputfilename of=outputfilename ibs=8000 cbs=80 conv=unblock I prefer the unblock_dlg command because it simply replaces the last byte of each record with a linefeed. This lets me easily tell how long the original records were. The effect of unblock_dlg or dd can be undone by typing: dd if=inputfilename of=outputfilename ibs=8000 cbs=80 conv=block You may come across files that have a linefeed in the 81st byte. Drawmap doesn't like these, both because it can't tell (within the space of the first 80-byte record) whether the file contains linefeeds or not, and because the records exceed the maximum record length of 80 bytes. You may be able to repair such files by blocking them with the above dd command. SEE ALSO
unblock_dem(1), drawmap(1) Jul 24, 2001 UNBLOCK_DLG(1)

Check Out this Related Man Page

DD(1)							      General Commands Manual							     DD(1)

NAME
dd - convert and copy a file SYNOPSIS
dd [option=value] ... DESCRIPTION
Dd copies the specified input file to the specified output with possible conversions. The standard input and output are used by default. The input and output block size may be specified to take advantage of raw physical I/O. option values if= input file name; standard input is default of= output file name; standard output is default ibs=n input block size n bytes (default 512) obs=n output block size (default 512) bs=n set both input and output block size, superseding ibs and obs; also, if no conversion is specified, it is particularly effi- cient since no copy need be done cbs=n conversion buffer size skip=n skip n input records before starting copy files=n copy n files from (tape) input seek=n seek n records from beginning of output file before copying count=n copy only n input records conv=ascii convert EBCDIC to ASCII ebcdic convert ASCII to EBCDIC ibm slightly different map of ASCII to EBCDIC lcase map alphabetics to lower case ucase map alphabetics to upper case swab swap every pair of bytes noerror do not stop processing on an error sync pad every input record to ibs ... , ... several comma-separated conversions Where sizes are specified, a number of bytes is expected. A number may end with k, b or w to specify multiplication by 1024, 512, or 2 respectively; a pair of numbers may be separated by x to indicate a product. Cbs is used only if ascii or ebcdic conversion is specified. In the former case cbs characters are placed into the conversion buffer, con- verted to ASCII, and trailing blanks trimmed and new-line added before sending the line to the output. In the latter case ASCII characters are read into the conversion buffer, converted to EBCDIC, and blanks added to make up an output record of size cbs. After completion, dd reports the number of whole and partial input and output blocks. For example, to read an EBCDIC tape blocked ten 80-byte EBCDIC card images per record into the ASCII file x: dd if=/dev/rmt0 of=x ibs=800 cbs=80 conv=ascii,lcase Note the use of raw magtape. Dd is especially suited to I/O on the raw physical devices because it allows reading and writing in arbitrary record sizes. To skip over a file before copying from magnetic tape do (dd of=/dev/null; dd of=x) </dev/rmt0 SEE ALSO
cp(1), tr(1) DIAGNOSTICS
f+p records in(out): numbers of full and partial records read(written) BUGS
The ASCII/EBCDIC conversion tables are taken from the 256 character standard in the CACM Nov, 1968. The `ibm' conversion, while less blessed as a standard, corresponds better to certain IBM print train conventions. There is no universal solution. Newlines are inserted only on conversion to ASCII; padding is done only on conversion to EBCDIC. These should be separate options. DD(1)
Man Page