Unix® Text Processing

Total Page:16

File Type:pdf, Size:1020Kb

Unix® Text Processing UNIX® TEXT PROCESSING DALE DOUGHERTY AND TIM O’REILLY and the staffofO’Reilly & Associates, Inc. CONSULTING EDITORS: Stephen G. Kochan and PatrickH.Wood HAYDEN BOOKS ADivision of HowardW.Sams & Company 4300 West 62nd Street Indianapolis, Indiana 46268 USA Copyright © 1987 Dale Dougherty and Tim O’Reilly FIRST EDITION SECOND PRINTING — 1988 INTERNET "UTP Revival" RELEASE — 2004 The UTP RevivalRelease is distributed according to the terms of the Creative Commons Attribution License. A copyofthe license is available at http://creativecommons.org/licenses/by/1.0 International Standard Book Number: 0-672-46291-5 Library of Congress Catalog Card Number: 87-60537 Trademark Acknowledgements All terms mentioned in this book that are known to be trademarks or service marks are listed below. Nei- ther the authors nor the UTP Revivalmembers can attest to the accuracyofthis information. Use of a term in this book should not be regarded as affecting the validity of anytrademark or service mark. Apple is a registered trademark and Apple LaserWriter is a trademark of Apple Computer,Inc. devps is a trademark of Pipeline Associates, Inc. Merge/286 and Merge/386 are trademarks of Locus Computing Corp. DDL is a trademark of Imagen Corp. Helvetica and Times Roman are registered trademarks of Allied Corp. IBM is a registered trademark of International Business Machines Corp. Interpress is a trademark of Xerox Corp. LaserJet is a trademark of Hewlett-Packard Corp. Linotronic is a trademark of Allied Corp. Macintosh is a trademark licensed to Apple Computer,Inc. Microsoft is a registered trademark of Microsoft Corp. MKS Toolkit is a trademark of Mortice Kern Systems, Inc. Multimate is a trademark of Multimate International Corp. Nutshell Handbook is a trademark of O’Reilly & Associates, Inc. PC-Interface is a trademark of Locus Computing Corp. PostScript is a trademark of Adobe Systems, Incorporated. PageMaker is a registered trademark of Aldus Corporation. SoftQuad Publishing Software and SQtroffare trademarks of SoftQuad Inc. WordStar is a registered trademark of MicroPro International Corp. UNIX is a registered trademark of The Open Group. VP/ix is a trademark of Interactive Systems Corp. and Phoenix Technologies, Ltd. CONTENTS Preface xi 1 From Typewriters to Word Processors 1 AWorkspace ..............................................................................................................................................2 Tools for Editing........................................................................................................................................3 Document Formatting ................................................................................................................................4 Printing ......................................................................................................................................................6 Other UNIX Text-Processing Tools ...........................................................................................................7 2 UNIX Fundamentals 9 The UNIX Shell.........................................................................................................................................9 Output Redirection ..................................................................................................................................10 Special Characters ...................................................................................................................................14 Environment Variables ............................................................................................................................15 Pipes and Filters ......................................................................................................................................16 Shell Scripts.............................................................................................................................................17 3 Learning vi 19 Session 1: Basic Commands....................................................................................................................19 Opening a File .........................................................................................................................................20 Moving the Cursor...................................................................................................................................22 Simple Edits.............................................................................................................................................25 Session 2: Moving Around in a Hurry ....................................................................................................32 Movement by Screens .............................................................................................................................32 Movement by TextBlocks .......................................................................................................................34 Movement by Searches............................................................................................................................35 Movement by Line Numbers...................................................................................................................37 Session 3: Beyond the Basics .................................................................................................................38 Command-Line Options ..........................................................................................................................38 Customizing vi.......................................................................................................................................40 Edits and Movement ................................................................................................................................42 More Ways to Insert Text........................................................................................................................43 Using Buffers ...........................................................................................................................................43 Marking Your Place.................................................................................................................................45 Other Advanced Edits..............................................................................................................................46 4 nroff and troff 47 What the Formatter Does.........................................................................................................................48 Using nroff...........................................................................................................................................51 Using troff...........................................................................................................................................51 The Markup Language ............................................................................................................................54 Turning Filling On and Off......................................................................................................................55 Controlling Justification ..........................................................................................................................57 v vi Unix TextProcessing Hyphenation ............................................................................................................................................59 Page Layout .............................................................................................................................................60 Page Transitions .......................................................................................................................................70 Changing Fonts ........................................................................................................................................74 AFirst Look at Macros............................................................................................................................81 5 The ms Macros 85 Formatting a TextFile with ms ...............................................................................................................86 Page Layout .............................................................................................................................................86 Paragraphs ...............................................................................................................................................87 Changing Font and Point Size .................................................................................................................93 Displays ...................................................................................................................................................97 Headings ..................................................................................................................................................99 CoverSheet Macros...............................................................................................................................100 Miscellaneous Features .........................................................................................................................102 Page Headers and Footers ......................................................................................................................104
Recommended publications
  • It's Complicated but It's Probably Already Booting Your Computer
    FAQ SYSTEMD SYSTEMD It’s complicated but it’s probably already booting your computer. dynamically connect to your network, a runlevel of 1 for a single-user mode, GRAHAM MORRISON while syslogd pools all the system runlevel 3 for the same command messages together to create a log of prompt we described earlier, and Surely the ‘d’ in Systemd is everything important. Another daemon, runlevel 5 to launch a graphical a typo? though it lacks the ‘d’, is init – famous environment. Changing this for your No –it’s a form of Unix notation for being the first process that runs on next boot often involved editing the used to signify a daemon. your system. /etc/inittab file, and you’d soon get used to manually starting and stopping You mean like those little Isn’t init used to switch your own services simply by executing devils inhabiting Dante’s between the command-line the scripts you found. underworld? and the graphical desktop? There is a link in that Unix usage For many of us, yes. This was the You seem to be using the past of the term daemon supposedly main way of going from the tense for all this talk about the comes from Greek mythology, where desktop to a command line and back init daemon… daemons invisibly wove their magic again without trying to figure out which That’s because the and benign influence. The word is today processes to kill or start manually. aforementioned Systemd wants more commonly spelt ‘demon’, which Typing init 3 would typically close any to put init in the past.
    [Show full text]
  • UNIX Version 7 Volume 1
    UNIXTM TIME-SHARING SYSTEM: UNIX PROGRAMMER'S MANUAL Seventh Edition, Volume 1 January, 1979 Bell Telephone Laboratories, Incorporated Murray Hill, New Jersey PREFACE Although this Seventh Edition no longer bears their byline, Ken Thompson and Dennis Ritchie remain the fathers and preceptors of the UNIX² time-sharing system. Many of the improvements here described bear their mark. Among many, many other people who have contributed to the further ¯owering of UNIX, we wish especially to acknowledge the contributions of A. V. Aho, S. R. Bourne, L. L. Cherry, G. L. Chesson, S. I. Feldman, C. B. Haley, R. C. Haight, S. C. Johnson, M. E. Lesk, T. L. Lyon, L. E. McMahon, R. Morris, R. Muha, D. A. Nowitz, L. Wehr, and P. J. Weinberger. We appreciate also the effective advice and criticism of T. A. Dolotta, A. G. Fraser, J. F. Maranzano, and J. R. Mashey; and we remember the important work of the late Joseph F. Ossanna. B. W. Kernighan M. D. McIlroy __________________ ²UNIX is a Trademark of Bell Laboratories. INTRODUCTION TO VOLUME 1 This volume gives descriptions of the publicly available features of the UNIX² system. It does not attempt to provide perspective or tutorial information upon the UNIX operating system, its facilities, or its implementation. Various documents on those topics are contained in Volume 2. In particular, for an overview see `The UNIX Time-Sharing System' by Ritchie and Thompson; for a tutorial see `UNIX for Beginners' by Kernighan. Within the area it surveys, this volume attempts to be timely, complete and concise. Where the latter two objectives con¯ict, the obvious is often left unsaid in favor of brevity.
    [Show full text]
  • Getting to Grips with Unix and the Linux Family
    Getting to grips with Unix and the Linux family David Chiappini, Giulio Pasqualetti, Tommaso Redaelli Torino, International Conference of Physics Students August 10, 2017 According to the booklet At this end of this session, you can expect: • To have an overview of the history of computer science • To understand the general functioning and similarities of Unix-like systems • To be able to distinguish the features of different Linux distributions • To be able to use basic Linux commands • To know how to build your own operating system • To hack the NSA • To produce the worst software bug EVER According to the booklet update At this end of this session, you can expect: • To have an overview of the history of computer science • To understand the general functioning and similarities of Unix-like systems • To be able to distinguish the features of different Linux distributions • To be able to use basic Linux commands • To know how to build your own operating system • To hack the NSA • To produce the worst software bug EVER A first data analysis with the shell, sed & awk an interactive workshop 1 at the beginning, there was UNIX... 2 ...then there was GNU 3 getting hands dirty common commands wait till you see piping 4 regular expressions 5 sed 6 awk 7 challenge time What's UNIX • Bell Labs was a really cool place to be in the 60s-70s • UNIX was a OS developed by Bell labs • they used C, which was also developed there • UNIX became the de facto standard on how to make an OS UNIX Philosophy • Write programs that do one thing and do it well.
    [Show full text]
  • Solaris Advanced User's Guide
    Solaris Advanced User’s Guide Sun Microsystems, Inc. 4150 Network Circle Santa Clara, CA 95054 U.S.A. Part No: 806–7612–10 May 2002 Copyright 2002 Sun Microsystems, Inc. 4150 Network Circle, Santa Clara, CA 95054 U.S.A. All rights reserved. This product or document is protected by copyright and distributed under licenses restricting its use, copying, distribution, and decompilation. No part of this product or document may be reproduced in any form by any means without prior written authorization of Sun and its licensors, if any. Third-party software, including font technology, is copyrighted and licensed from Sun suppliers. Parts of the product may be derived from Berkeley BSD systems, licensed from the University of California. UNIX is a registered trademark in the U.S. and other countries, exclusively licensed through X/Open Company, Ltd. Sun, Sun Microsystems, the Sun logo, docs.sun.com, AnswerBook, AnswerBook2, SunOS, and Solaris are trademarks, registered trademarks, or service marks of Sun Microsystems, Inc. in the U.S. and other countries. All SPARC trademarks are used under license and are trademarks or registered trademarks of SPARC International, Inc. in the U.S. and other countries. Products bearing SPARC trademarks are based upon an architecture developed by Sun Microsystems, Inc. The OPEN LOOK and Sun™ Graphical User Interface was developed by Sun Microsystems, Inc. for its users and licensees. Sun acknowledges the pioneering efforts of Xerox in researching and developing the concept of visual or graphical user interfaces for the computer industry. Sun holds a non-exclusive license from Xerox to the Xerox Graphical User Interface, which license also covers Sun’s licensees who implement OPEN LOOK GUIs and otherwise comply with Sun’s written license agreements.
    [Show full text]
  • If Data Is Confidential and Available but Altered Decryption of Altered Data Usually Gives Garbage Exception: Electronic-Codeboo
    38 40 If Data is Confidential and Available but Altered Encryption • do not use ECB–Mode • use CBC– or CTR–mode (recommendation Schneier/Ferguson) • use AES or one of the finalists – Twofish (Schneier, Ferguson, Kelsey, Whiting, Wagner, Hall) decryption of altered data usually gives garbage – Serpent (Anderson, Biham, Knudsen) – MARS (Coppersmith et al., IBM) exception: electronic-codebook-mode (ECB) (uses independent blocks) – RC6 (Rivest, patented by RSA) 39 41 ECB-Mode Encrypted Penguin If Data is Non-Alterable and Confidential but not Available ,,Your message with authenticator 08931281763e1de003e5f930c449bf791c9f0db6 encryption is block by block has been received, but unfortunately the server is down. ❀ every block gets another color Your mail-service will never be accessible.” Example: lavabit.com, Snowden’s e-Mail-Provider 42 44 Authorization: Who is Allowed to Do All This? Problem: Person/Process/Role ⇐⇒ String (2) How to link a person to a string? • Person knows something (password, secret cryptographic key). • Person has something (token, USB–key, chipcard). Authorized entities only. • Person is something (biometrics, fingerprint etc.). Only Bob is allowed to enter here. We have to identify persons, processes and their roles. 43 45 Problem: Person/Process/Role ⇐⇒ String (1) Proof of Identity is Called Authentication Person identified by picture String identified by equality relation. 46 48 Proof of Identity: Links Person to a String Third party guarantees real identity. Has something: ID–card. 47 49 Proof of True Source is Called Authenticity
    [Show full text]
  • Introduction to Unix Shell (Part I)
    Introduction to Unix shell (part I) Evgeny Stambulchik Faculty of Physics, Weizmann Institute of Science, Rehovot 7610001, Israel Joint ICTP-IAEA School on Atomic Processes in Plasmas February 27 – March 3, 2017 Trieste, Italy Contrary to popular belief, Unix is user friendly. It just happens to be very selective about who it decides to make friends with. Unknown Initially used at Bell Labs, but soon licensed to academy (notably, U. of California, Berkeley) and commercial vendors (IBM, Sun, etc). There are two major products that came out of Berkeley: LSD and Unix. We don’t believe this to be a coincidence. Jeremy S. Anderson, Unix systems administrator Historical overview (kind of) Unix is a family of multiuser, multitasking operating systems stemming from the original Unix developed in the 1970’s at Bell Labs by Ken Thompson, Dennis Ritchie1, and others. Some consider Unix to be the second most important invention to come out of AT&T Bell Labs after the transistor. Dennis Ritchie 1Also famous for creating the C programming language. Historical overview (kind of) Unix is a family of multiuser, multitasking operating systems stemming from the original Unix developed in the 1970’s at Bell Labs by Ken Thompson, Dennis Ritchie1, and others. Some consider Unix to be the second most important invention to come out of AT&T Bell Labs after the transistor. Dennis Ritchie Initially used at Bell Labs, but soon licensed to academy (notably, U. of California, Berkeley) and commercial vendors (IBM, Sun, etc). There are two major products that came out of Berkeley: LSD and Unix.
    [Show full text]
  • Command Line Interface (Shell)
    Command Line Interface (Shell) 1 Organization of a computer system users applications graphical user shell interface (GUI) operating system hardware (or software acting like hardware: “virtual machine”) 2 Organization of a computer system Easier to use; users applications Not so easy to program with, interactive actions automate (click, drag, tap, …) graphical user shell interface (GUI) system calls operating system hardware (or software acting like hardware: “virtual machine”) 3 Organization of a computer system Easier to program users applications with and automate; Not so convenient to use (maybe) typed commands graphical user shell interface (GUI) system calls operating system hardware (or software acting like hardware: “virtual machine”) 4 Organization of a computer system users applications this class graphical user shell interface (GUI) operating system hardware (or software acting like hardware: “virtual machine”) 5 What is a Command Line Interface? • Interface: Means it is a way to interact with the Operating System. 6 What is a Command Line Interface? • Interface: Means it is a way to interact with the Operating System. • Command Line: Means you interact with it through typing commands at the keyboard. 7 What is a Command Line Interface? • Interface: Means it is a way to interact with the Operating System. • Command Line: Means you interact with it through typing commands at the keyboard. So a Command Line Interface (or a shell) is a program that lets you interact with the Operating System via the keyboard. 8 Why Use a Command Line Interface? A. In the old days, there was no choice 9 Why Use a Command Line Interface? A.
    [Show full text]
  • UNIX/Linux Fundamentals – Lecture 1
    UNIX/Linux Fundamentals – Lecture 1 Md Modasshir What will we cover? • Operating system overview • UNIX commands, shell & process mgt. • Scripting languages • Programming tools • Various text editors • X11 & KDE windows env • Basic C/C++ programming and other applications (emacs, gcc-g++, gzip, tar, …) Schedule Lectures – Monday through Friday 08:30 – 10:50am • Quizzes taken at the end of lecture/beginning of 2nd class • Final: Saturday May 14th. • Project due May 14th @ 05:00 pm. Books USC Bookstore Other helpful resources http://safari.oreilly.com Who cares, how do I get an A? • 4 Assignments: 40% • 1 Project: 20% • 4 Quizzes: 20% • Final: 20% Cheating • Don’t Cheating • Don’t • Seriously, don’t Individual Effort • Assignments and quizzes are open book, open notes, open computer/internet! • This is a hands on course designed to familiarize YOU with the unix/linux environment. • You will need these skills in future classes. • Cheat and pay the price later. • Why not learn this stuff now? Our Heroes Ken Thompson Dennis Ritchie Video Games Spark Innovation PDP-7 Space Pilot In the Beginning • UNICS: 1969 – PDP-7 minicomputer • PDP-7 goes away, rewritten on PDP-11 to “help patent lawyers” • V1: 1971 • V3: 1973 (pipes, C language) • V6: 1976 (rewritten in C, base for BSD) • V7: 1979 (Licensed, portable) PDP-11 Derivative Systems • PWB, MERT • BSD: Adds many important features (networking, job control). • AT&T enters the computer business with System III, V Commercial Success • AIX • SunOS, Solaris • Ultrix, Digital Unix • HP-UX • Irix • UnixWare -> Novell -> SCO -> Caldera ->SCO • Xenix: -> SCO • Standardization (Posix, X/Open) Standards and Wars • 1998: POSIX Standard • Unix International vs.
    [Show full text]
  • Oracle Solaris 10 113 Patch List
    Oracle® Solaris 10 1/13 Patch List Part No: E27062–01 January 2013 Copyright © 2000, 2013, Oracle and/or its affiliates. All rights reserved. This software and related documentation are provided under a license agreement containing restrictions on use and disclosure and are protected by intellectual property laws. Except as expressly permitted in your license agreement or allowed by law, you may not use, copy, reproduce, translate, broadcast, modify, license, transmit, distribute, exhibit, perform, publish, or display any part, in any form, or by any means. Reverse engineering, disassembly, or decompilation of this software, unless required by law for interoperability, is prohibited. The information contained herein is subject to change without notice and is not warranted to be error-free. If you find any errors, please report them to us in writing. If this is software or related documentation that is delivered to the U.S. Government or anyone licensing it on behalf of the U.S. Government, the following notice is applicable: U.S. GOVERNMENT END USERS. Oracle programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, delivered to U.S. Government end users are "commercial computer software" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, use, duplication, disclosure, modification, and adaptation of the programs, including anyoperating system, integrated software, any programs installed on the hardware, and/or documentation, shall be subject to license terms and license restrictions applicable to the programs. No other rights are granted to the U.S. Government. This software or hardware is developed for general use in a variety of information management applications.
    [Show full text]
  • Version Management with CVS
    Version Management with CVS for cvs 1.11.22 Per Cederqvist et al Copyright c 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. Portions Copyright c 1999, 2000, 2001, 2002, 2003, 2004, 2005 Derek R. Price, Copyright c 2002, 2003, 2004, 2005 Ximbiot http://ximbiot.com, Copyright c 1992, 1993, 1999 Signum Support AB, and Copyright c others. Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies. Permission is granted to copy and distribute modified versions of this manual under the conditions for verbatim copying, provided also that the entire resulting derived work is distributed under the terms of a permission notice identical to this one. Permission is granted to copy and distribute translations of this manual into another lan- guage, under the above conditions for modified versions, except that this permission notice may be stated in a translation approved by the Free Software Foundation. i Short Contents 1 Overview ..................................... 1 2 The Repository................................. 7 3 Starting a project with CVS ....................... 29 4 Revisions .................................... 33 5 Branching and merging .......................... 41 6 Recursive behavior ............................. 51 7 Adding, removing, and renaming files and directories ...... 53 8 History browsing ............................... 59 9 Handling binary files ............................ 61 10 Multiple developers ............................. 63 11 Revision management ........................... 73 12 Keyword substitution............................ 75 13 Tracking third-party sources ....................... 79 14 How your build system interacts with CVS ............. 83 15 Special Files .................................. 85 A Guide to CVS commands ......................... 87 B Quick reference to CVS commands .................
    [Show full text]
  • The Tragedy of Systemd
    The Tragedy of systemd [email protected] @jeamland The Tragedy of systemd [email protected] @jeamland Aurynn Shaw, “Contempt Culture” http://blog.aurynn.com/2015/12/16-contempt-culture Change The Ancestry of systemd UNIX Seventh Edition Unix (1979) … housekeeping functions like… mounting filesystems, and starting “ daemons. - init(8) manual page, Seventh Edition Unix PDP-11/70, Seventh Edition Unix VAX-11/730, 4.3BSD Living Computers Museum+Labs https://livingcomputers.org Then things changed Service … housekeeping functions like… mounting filesystems, and starting “ daemons. - init(8) manual page, Seventh Edition Unix System Configuration System Configuration Service Bootstrap Automated Service Management The Idea of systemd launchd The Idea of launchd From launchd to systemd Lennart Poettering, “Rethinking PID 1” http://0pointer.net/blog/projects/systemd.html For a fast and efficient boot-up two things are crucial: “ ➤ To start less. ➤ And to start more in parallel. -Lennart Poettering, “Rethinking PID 1” An init system that is responsible for maintaining services needs to listen to “ hardware and software changes. -Lennart Poettering, “Rethinking PID 1” [I]s this kind of logic new? No, it certainly is not. The most prominent “ system that works like this is Apple's launchd system… -Lennart Poettering, “Rethinking PID 1” System Management Userspace Kernel Userspace System Kernel The Reality of systemd Adoption Fedora 15 May, 2011 openSUSE 12.2 September, 2012 CentOS 7.14.04 April, 2014 Red Hat Enterprise Linux 7.0 June, 2014 SUSE Linux Enterprise
    [Show full text]
  • CVS II: Parallelizing Software Dev Elopment
    CVS II: Parallelizing Software Dev elopment Brian Berliner Prisma, Inc. 5465 Mark Dabling Blvd. Colorado Springs, CO 80918 [email protected] ABSTRACT The program described in this paper fills a need in the UNIX community for a freely available tool to manage software revision and release control in a multi-developer, multi-directory, multi-group environment. This tool also addresses the increasing need for tracking third-party vendor source distributions while trying to maintain local modifications to earlier releases. 1. Background In large software development projects, it is usually necessary for more than one software developer to be modifying (usually different) modules of the code at the same time. Some of these code modifications are done in an experimental sense, at least until the code functions cor- rectly, and some testing of the entire program is usually necessary. Then, the modifications are returned to a master source repository so that others in the project can enjoy the new bug-fix or functionality. In order to manage such a project, some sort of revision control system is neces- sary. Specifically, UNIX1 kernel development is an excellent example of the problems that an adequate revision control system must address. The SunOS2 kernel is composed of over a thou- sand files spread across a hierarchy of dozens of directories.3 Pieces of the kernel must be edited by many software developers within an organization. While undesirable in theory, it is not uncommon to have two or more people making modifications to the same file within the kernel sources in order to facilitate a desired change.
    [Show full text]