Awk and Sed in UNIX

Total Page:16

File Type:pdf, Size:1020Kb

Awk and Sed in UNIX Becoming an efficient DB2 LUW DBA by leveraging awk and sed in UNIX Pavan Kristipati Huntington Bank Session Code: D11 05/25/2016 1:00 PM | Platform: DB2 for Linux, Unix and Windows Photo by Steve from Austin, TX, USA Pavan Kristipati • IBM Champion 2015, 2016 • IDUG North America Conference Planning Committee • DB2 LUW DBA since 2005 • Presented at IDUG in 2014 and 2015 • IBM Certified Advanced Database Administrator • Technical blogging • www.db2talk.com – Owner • www.db2commerce.com – Occasional guest blogger • https://www.linkedin.com/in/pavankristipati • @pkristipati @db2talk 2 Agenda • Objectives • Motivation and Introduction • Learning how to use awk and sed in regular DBA activities • Usage examples • Questions 3 Objectives • Introduction to awk and sed • If you haven’t considered using awk and sed until now, my goal is to motivate you to do so • Share 4 things about awk and 2 things about sed that make a DB2 DBA efficient • Show that awk and sed are not that clumsy! • Show how sed and awk together could be powerful tools 4 Setting the stage • No heavy attention to syntax • Multiple ways to get the same thing done. Only one approach is discussed • Focus is on breath. Not depth 5 Motivation to look into awk and sed • Reduce (boring) typing • Do, wait, do, wait, do.. doesn’t scale • Increased confidence in scripting/automating over time self sufficient DBA • Write UNIX scripts to make your job simpler • Automation using scripts • Up to the challenge of learning usage of seemingly arcane utilities 6 So, what are awk and sed? • Two of the most under-appreciated utilities in UNIX • Invaluable if you ever have to: • Make repetitive changes to large pieces of code or text • Analyze some text • Part of most UNIX offerings 7 Introduction to awk • Originally designed/implemented in 1977 by Al Aho, Peter Weinberger, and Brian Kernigan - language takes it name from authors’ initials • Several implementations (that rhyme with awk) • General purpose programming language in UNIX that handles text (strings) as easily as numbers • This makes awk one of the most powerful of the Unix utilities • Easy manipulation of structured data • Process fields while sed process lines 8 awk basics and terminology 9 awk - Input and Output • Input • Content in a file - $cat filename | awk ‘command’ • Output from a command - $db2 list db directory | awk ‘command’ • Output • Fields in a file • Single value • Functions or other actions on content • Open to imagination 10 awk - Input and Output • What can we do with output? • Send to a file • print "expression" > "file name“ (Think SQL files) • Send through a pipe for further actin • print "expression" | "command” (One – liners) 11 Lets get basics right - Fields and Delimiters in awk • Think of field as a column • Default delimiter: ‘space’ or ‘tab’ • $1 = 1st field • $2 = 2nd field • $0 = the entire line 12 Lets get basics right - Fields and Delimiters in awk • awk’s most basic function – Printing text (don’t underestimate) • Print 1st field (print only schema names) $ cat file1 | awk '{print $1}‘ • Notice the difference: • cat file1 | awk ‘{print “$1”}’ – prints $1 instead of value of 1st field • Text in double quotes is printed literally 13 Unleashing the power of awk 14 awk Tip #1 15 In tip #1, we will look at: • Generate DB2 commands • Combine SQL and awk • Perform a set of actions on a: • static file of list of tables • dynamic list of tables 16 Power of awk – Generating DB2 Commands Scenario: Runstats on multiple tables • Table list in a file • Do-Wait-Do-Wait.. is not for efficient DBAs • Use awk to be efficient • 2 steps • Generate command (we will use UNIX’s ‘cat’ in this step) • Run command (and take a coffee break) 17 Power of awk – Generating DB2 Commands Template: $ cat tabslist | awk '{print “runstats command” variables}’ Step1: $cat tabslist| awk ‘{print “runstats on table “$1”.”$2”;”}’ > stats.sql Step2: $db2 –tvf stats.sql runstats on table SCHEMA1.TABLE1 DB20000I The RUNSTATS command completed successfully. runstats on table SCHEMA2.TABLE2 DB20000I The RUNSTATS command completed successfully. …………………… 18 awk one liners • Could this be done in 1 step? Yes • Just send awk’s output to DB2 prompt • $cat tabslist | awk ‘{print “runstats on table “$1”.”$2}’ | db2 –v db2 => runstats on table SCHEMA1.TABLE1 DB20000I The RUNSTATS command completed successfully. db2 => runstats on table SCHEMA2.TABLE2 DB20000I The RUNSTATS command completed successfully. 19 Power of awk – Generating Commands from a dynamic list Two questions: • Does this scale to large number of tables? Yes • Does the table list has to be in a file? No 3 actions in one line: . Generate a list . Pass the list to awk as input and . Pass the entire output to DB2 prompt $db2 -x "select char(tabschema,20), char(tabname, 50) from syscat.tables where type = 'T' and tabschema = 'SYSIBM'" | awk '{print "runstats on table "$1"."$2}‘ | db2 -v Runstats on all tables in SYSIBM schema (144 tables in DB2 10.5) 20 awk Tip #2 21 Combining SQL and awk In tip #2, we will look at: • Pass awk fields into SQL • Generating SQL statements using awk • Handling single quotes in awk in SQLs ‘where’ clause 22 Combining SQL and awk • Example: Print column names • Where clause has table and schema names in single quotes SQL to print column names: • select char(tabschema, 20), char(tabname, 60), char(colnames,200) from syscat.indexes where tabschema='SCHEMA1' and tabname='TABLE1’ 23 Handling quotes in awk – What doesn’t work Quotes needs extra attention and handling Goal: Enclose SCHEMA and TABLE in quotes None of these work $cat list | awk '{print "select char(tabschema, 20), char(tabname, 60), char(colnames, 200) from syscat.indexes where clause Enclose fields in single quotes: × where tabschema = ‘$1’ and tabname = ‘$2’;"}’ Using combination of double and single quotes: × where tabschema = "'$1'" and tabname = "'$2'";"}‘ Escaping single quotes: × where tabschema = "\'$1\'" and tabname = "\'$2\'";"}‘ 24 Handling quotes in awk - – What works Solution – awk’s Assignment Operator ‘-v’: • $cat list | awk -v x="'" '{print "select char(tabschema, 20), char(tabname, 60), char(colnames, 200) from syscat.indexes where tabschema="x$1x" and tabname ="x$2x}‘ • Looks complex? Actually it is not! • Just have assignment operator before and after fields ($1 $2) • http://db2talk.com/2015/07/31/dba-tip-easy-way-to- handle-single-quotes-in-awk/ 25 Assignment Operator – Add date/time to vmstat data • By default, AIX’s vmstat output does not have a good way to record date/time values. • vmstat in RHEL has ‘-t’ option for date/timestamp • How do we add date/time values? • Use awk’s assignment operator. 26 Adding date/time to vmstat data using awk $vmstat 15 | parse_vmstat.sh ## Pass vmstat output to script ##parse_vmstat.sh – Snippet ## Step 1 – Capture current date and time in a shell variable $cur_time=$(date '+%m/%d/%Y %H:%M:%S') ## Step 2 – Pass this variable to awk and print it along with vmstats output echo $line | grep –vi swpd | awk –v cTime="$cur_time" '{print cTime, $0}‘ # output 03/05/2016 15:31:12 1 0 0 3311268 327304 3757292 0 0 12367 58 13 24 17 2 80 0 0 03/05/2016 15:31:27 1 0 0 3311268 327304 3757292 0 0 12367 58 13 24 17 2 80 0 0 27 awk Tip #3 28 In tip #3, we will look at: • Printing output in a better format • Separate fields in output for clarity 29 Applying make up to output – Tip #3 • Print output in a more formatted way – Use printf (fancy print) • Format specifiers let us separate fields in output for clarity 30 Applying make up to output – Tip #3 31 awk Tip #4 32 In tip #4, we will look at: • How to handle non-default field separators • Other special variables in awk 33 Custom Field Separator in awk • Until now, we worked with files that have fields separated by space or tab. • What if fields are separated by other characters? Request from a developer: Hey DBA, could do you drop these tables? 34 Custom Field Separator in awk • Use awk’s ‘F’ or ‘FS’ for field separator. 35 Other Special Variables in awk • FS -- The input field separator. The default value is a blank. • OFS - The output field separator (default is a space). • RS -- Input record separator (default is a new-line character). • ORS - Output record separator (default is a new-line character). • NF -- The number of fields in the current record. 36 sed 37 Introduction to sed • stream editor (sed) • Perfect for applying a series of edits to a number of files or to output of a command • Processes lines while awk processes fields How it works? Input text flows through the (sed) program, is modified, and is directed to output Output from a Sed command Command prompt / command /script file /text file 38 sed – Input and Output • By default, ‘sed’ operates on each line. • By default, all ‘sed’ commands are applied on the pattern buffer, hence the input file remains unchanged. • GNU ‘sed’ provides a way to modify the input file in-a-place. 39 sed tip #1 The most popular substitute command 40 sed’s most popular substitute command – #1 Goal: To delete double quotes from a DDL file $cat ddlfile | sed 's/"//g‘ > newddlfile More variations of this command are in notes 41 sed’s most popular substitute command - #2 Goal: To replace EDWDV with EDWQA Think QA migration $cat ddlfile | sed ‘s/EDWDV/EDWQA/g‘ > newddlfile What if we wanted quotes to go away as well? 42 sed tip #2 handling large number of substitutions 43 Handling multiple substitutions – the efficient way • If you have a large number of sed commands, you can put them into a file and use sed -f sedscript <old >new 44 Multiple substitutions using sed Delete quotes, lines with CONNECT, COMMIT, RESET and TERMINATE How did this happen? 45 Multiple substitutions using sed dv.ddl sed –f sed.file dv.ddl > qa.ddl Simpler example: Case in-sensitive replace s/[Aa]/A/g s/[Ee]/E/g s/[Ii]/I/g s/[Oo]/O/g s/[Uu]/U/g 46 awk and sed together 47 Example #1 48 Handling $# =1 or $# =2 Scenario: There could be 1 or 2 arguments.
Recommended publications
  • Administering Unidata on UNIX Platforms
    C:\Program Files\Adobe\FrameMaker8\UniData 7.2\7.2rebranded\ADMINUNIX\ADMINUNIXTITLE.fm March 5, 2010 1:34 pm Beta Beta Beta Beta Beta Beta Beta Beta Beta Beta Beta Beta Beta Beta Beta Beta UniData Administering UniData on UNIX Platforms UDT-720-ADMU-1 C:\Program Files\Adobe\FrameMaker8\UniData 7.2\7.2rebranded\ADMINUNIX\ADMINUNIXTITLE.fm March 5, 2010 1:34 pm Beta Beta Beta Beta Beta Beta Beta Beta Beta Beta Beta Beta Beta Notices Edition Publication date: July, 2008 Book number: UDT-720-ADMU-1 Product version: UniData 7.2 Copyright © Rocket Software, Inc. 1988-2010. All Rights Reserved. Trademarks The following trademarks appear in this publication: Trademark Trademark Owner Rocket Software™ Rocket Software, Inc. Dynamic Connect® Rocket Software, Inc. RedBack® Rocket Software, Inc. SystemBuilder™ Rocket Software, Inc. UniData® Rocket Software, Inc. UniVerse™ Rocket Software, Inc. U2™ Rocket Software, Inc. U2.NET™ Rocket Software, Inc. U2 Web Development Environment™ Rocket Software, Inc. wIntegrate® Rocket Software, Inc. Microsoft® .NET Microsoft Corporation Microsoft® Office Excel®, Outlook®, Word Microsoft Corporation Windows® Microsoft Corporation Windows® 7 Microsoft Corporation Windows Vista® Microsoft Corporation Java™ and all Java-based trademarks and logos Sun Microsystems, Inc. UNIX® X/Open Company Limited ii SB/XA Getting Started The above trademarks are property of the specified companies in the United States, other countries, or both. All other products or services mentioned in this document may be covered by the trademarks, service marks, or product names as designated by the companies who own or market them. License agreement This software and the associated documentation are proprietary and confidential to Rocket Software, Inc., are furnished under license, and may be used and copied only in accordance with the terms of such license and with the inclusion of the copyright notice.
    [Show full text]
  • Red Hat Jboss Data Grid 7.2 Data Grid for Openshift
    Red Hat JBoss Data Grid 7.2 Data Grid for OpenShift Developing and deploying Red Hat JBoss Data Grid for OpenShift Last Updated: 2019-06-10 Red Hat JBoss Data Grid 7.2 Data Grid for OpenShift Developing and deploying Red Hat JBoss Data Grid for OpenShift Legal Notice Copyright © 2019 Red Hat, Inc. The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/ . In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version. Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law. Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries. Linux ® is the registered trademark of Linus Torvalds in the United States and other countries. Java ® is a registered trademark of Oracle and/or its affiliates. XFS ® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries. MySQL ® is a registered trademark of MySQL AB in the United States, the European Union and other countries. Node.js ® is an official trademark of Joyent.
    [Show full text]
  • TIP/Ix Utilities
    TIP/ix Utilities IP-617 December 2014 This edition applies to TIP/ix 2.5 and revision levels of TIP/ix 2.5 until otherwise indicated in a new edition. Publications can be requested from the address given below. Inglenet Business Solutions Inc reserves the right to modify or revise this document without notice. Except where a Software Usage Agreement has been executed, no contractual obligation between Inglenet Business Solutions Inc and the recipient is either expressed or implied. It is agreed and understood that the information contained herein is Proprietary and Confidential and that the recipient shall take all necessary precautions to ensure the confidentiality thereof. If you have a license agreement for TIP Studio or TIP/ix with Inglenet Business Solutions Inc, you may make copies of this documentation for internal use. Otherwise, you may not copy or transmit this document, in whole or in part, in any form or by any means, electronic, mechanical, photocopying, or otherwise, without the prior written permission of Inglenet Business Solutions Inc. Inglenet Business Solutions Inc Toll Free: 1-800-387-9391 Website: http://www.Inglenet.com Sales: [email protected] Help Desk: [email protected] TIP Studio, TIP/ix, and TIP/30, and are registered trade marks of Inglenet Business Solutions Inc: This documentation occasionally makes reference to the products of other corporations. These product names may be trade marks, registered or otherwise, or service marks of these corporations. Where this is the case, they are hereby acknowledged as such by Inglenet Business Solutions Inc. © Inglenet Business Solutions Inc, 1990-2014 TIP/ix Utility Programs Contents TIP/ix Utility Programs ................................................
    [Show full text]
  • The AWK Pattern Processing Language
    000.book.fm Page 531 Wednesday, September 30, 2009 10:13 AM 12 The AWK Pattern Processing Language In This Chapter AWK12Chapter12 is a pattern-scanning and processing language that searches one or more files for records (usually lines) that Syntax . 532 match specified patterns. It processes lines by performing Arguments . 532 actions, such as writing the record to standard output or Options . 533 incrementing a counter, each time it finds a match. Unlike procedural languages, AWK is data driven: You describe the Patterns . 534 data you want to work with and tell AWK what to do with Actions. 535 the data once it finds it. Variables . 535 You can use AWK to generate reports or filter text. It works Functions. 536 equally well with numbers and text; when you mix the two, Associative Arrays. 538 AWK usually comes up with the right answer. The authors of AWK (Alfred V. Aho, Peter J. Weinberger, and Brian W. Control Structures . 539 Kernighan) designed the language to be easy to use. To Examples . 541 achieve this end they sacrificed execution speed in the origi- getline: Controlling Input . 558 nal implementation. Coprocess: Two-Way I/O. 560 Getting Input from a Network. 562 Copyright © 2010 Mark G. Sobell 531531 000.book.fm Page 532 Wednesday, September 30, 2009 10:13 AM 532 Chapter 12 The AWK Pattern Processing Language AWK takes many of its constructs from the C programming language. It includes the following features: • A flexible format • Conditional execution • Looping statements • Numeric variables • String variables • Regular expressions • Relational expressions •C’s printf • Coprocess execution (gawk only) • Network data exchange (gawk only) Syntax A gawk command line has the following syntax: gawk [options] [program] [file-list] gawk [options] –f program-file [file-list] The gawk utility takes its input from files you specify on the command line or from standard input.
    [Show full text]
  • Development of a Distributed Design System For
    DEVELOPMENT OF A DISTRIBUTED DESIGN SYSTEM FOR INTEGRATED CIRCUIT DESIGN USING VAX 1117 50 AND SCALDSYSTEM COMPUTERS A Thesf-s Presented to The FacuJ.ty of the Col.1.ege of Engineering and Technology Ohfo University In Partial. Ful.fi.l.lment of the Requttements for the Degree Master of Science Robert Stratton Nobl.es,, TI -4L March, 1986 ACKNOWLEDGEMENTS I wou1.d Iike to thank my advl.sor, Dr. Harold KJ.ock not only for his support of this thesi.~,but for his interest in and support of my graduate work altogether. My thanks to the members of my committee: Dr. Janusz Starzyk and Dr. Robert Curt!.s who helped to form my earliest interest in VLSI deslgn (whj.c.h launched this thesis), and t.o Dr. Israel Uri.el.1, for his interest and val.uab1.e sugges- t l.ons . I wou1.d also I.lke to express my appreci.at!.on here for the help given to me by my mother and father, who have al-ways belleved j.n me. And final.l.y, my deepest gratitude goes to my wife, Kfm, whose support has meant everything to me. TABLE OF CONTENTS Page ACKNOWLEDGEMENTS i LIST OF FIGURES CHAPTER 1 : INTRODUCTION CHAPTER 2: AN INTRODUCTION TO THE UNIX SYSTEM 2.1 A Short View of rhe Hi-story of UNIX 2.2 Conventions Used In Thfs Thesis 2.3 The UNIX File System 9 2.4 UNIX System I/O 2.5 The UNIX Command Intetpreter(SheJ.1.) CHAPTER 3: VAX AND SCALDSYSTEX DESIGN ENVIRONMENTS 17 3.1 SCALDsystem Resources 3.1.1 Hardware Resources 3.1.2 The 0peratJ.ng System and F3.l.e System Layouts 20 3.1.3 SCALDsystem Integrated Cj.rcuf.t Desi.gn Software 26 3.2 VAX System Resources 3.2.1 Hardware Resources 3.2.2 The Operating System and File System Layouts 35 3.2.3 Integrated Circuit Design Software 41 CHAPTER 4: VAX/SCALDSYSTEM COMMUNICATIONS 4 5 4.1 Communi.catj.ons Usi.ng the Tip Program 4 5 4.2 Ini.t.Sal.iz3.ng UNIX Terminal.
    [Show full text]
  • Administering the Recoverable File System on UNIX
    C:\Program Files\Adobe\FrameMaker8\UniData 7.2\7.2rebranded\RFS\ARFSTITL.fm March 8, 2010 4:20 pm Beta Beta Beta Beta Beta Beta Beta Beta Beta Beta Beta Beta Beta Beta Beta Beta UniData Administering the Recoverable File System on UNIX UDT-720-RFSU-1 C:\Program Files\Adobe\FrameMaker8\UniData 7.2\7.2rebranded\RFS\ARFSTITL.fm March 8, 2010 4:20 pm Beta Beta Beta Beta Beta Beta Beta Beta Beta Beta Beta Beta Beta Notices Edition Publication date: June 2008 Book number: UDT-720-RFSU-1 Product version: UniData 7.2 Copyright © Rocket Software, Inc. 1988-2008. All Rights Reserved. Trademarks The following trademarks appear in this publication: Trademark Trademark Owner Rocket Software™ Rocket Software, Inc. Dynamic Connect® Rocket Software, Inc. RedBack® Rocket Software, Inc. SystemBuilder™ Rocket Software, Inc. UniData® Rocket Software, Inc. UniVerse™ Rocket Software, Inc. U2™ Rocket Software, Inc. U2.NET™ Rocket Software, Inc. U2 Web Development Environment™ Rocket Software, Inc. wIntegrate® Rocket Software, Inc. Microsoft® .NET Microsoft Corporation Microsoft® Office Excel®, Outlook®, Word Microsoft Corporation Windows® Microsoft Corporation Windows® 7 Microsoft Corporation Windows Vista® Microsoft Corporation Java™ and all Java-based trademarks and logos Sun Microsystems, Inc. UNIX® X/Open Company Limited ii Administering the Recoverable File System on UNIX The above trademarks are property of the specified companies in the United States, other countries, or both. All other products or services mentioned in this document may be covered by the trademarks, service marks, or product names as designated by the companies who own or market them. License agreement This software and the associated documentation are proprietary and confidential to Rocket Software, Inc., are furnished under license, and may be used and copied only in accordance with the terms of such license and with the inclusion of the copyright notice.
    [Show full text]
  • Marco: Safe, Expressive Macros for Any Language*
    Marco: Safe, Expressive Macros for Any Language? Byeongcheol Lee1, Robert Grimm2, Martin Hirzel3, Kathryn S. McKinley4,5 1 Gwangju Institute of Science and Technology 2 New York University 3 IBM Watson Research Center 4 Microsoft Research 5 The University of Texas at Austin Abstract. Macros improve expressiveness, concision, abstraction, and language interoperability without changing the programming language itself. They are indispensable for building increasingly prevalent mul- tilingual applications. Unfortunately, existing macro systems are well- encapsulated but unsafe (e.g., the C preprocessor) or are safe but tightly- integrated with the language implementation (e.g., Scheme macros). This paper introduces Marco, the first macro system that seeks both encap- sulation and safety. Marco is based on the observation that the macro system need not know all the syntactic and semantic rules of the tar- get language but must only directly enforce some rules, such as variable name binding. Using this observation, Marco off-loads most rule checking to unmodified target-language compilers and interpreters and thus be- comes language-scalable. We describe the Marco language, its language- independent safety analysis, and how it uses two example target-language analysis plug-ins, one for C++ and one for SQL. This approach opens the door to safe and expressive macros for any language. 1 Introduction Macros enhance programming languages without changing them. Programmers use macros to add missing language features, to improve concision and abstrac- tion, and to interoperate between different languages and with systems. With macros, programmers use concrete syntax instead of tediously futzing with ab- stract syntax trees or, worse, creating untyped and unchecked strings.
    [Show full text]
  • AOS 452 – Lab 9 Handout Automated Plot Generation
    1 AOS 452 – Lab 9 Handout Automated Plot Generation INTRODUCTION The command that is new to this lab is crontab. Crontab allows one to run scripts automatically without having to be at the computer terminal to execute them. The commands needed to run the scripts are stored in a special crontab file. The UNIX system utility cron reads the crontab file and runs the specified commands. The process of automatically creating web-accessible GEMPAK plots consists of four steps: 1. Prepare the script(s) (Lab 8, with some twists) 2. Prepare the crontab file (new) 3. Load the crontab file into the cron utility (new) 4. Code up some HTML to point to the generated plots (Lab 7) STEP 1: PREPARING THE SCRIPT Before using crontab to run a script, you’ll need to add a few extra lines of text to your script. These lines go between #!/bin/csh –f and the line on which you specify what GEMPAK program you wish to run first (e.g., gdplot << EOF). First, you need to let the cron utility know the location of all the executables (programs, etc.) you intend to run in the script. To do this, enter the following as the second line in your script: source ~yourusername/.tcshrc Next, you need to change into the directory in which the cron utility should be working. This could be, for example, your home directory, or your public_html directory. For the purposes of this lab, you’ll want to move into your public_html directory. Any plots created by your script will appear in this directory.
    [Show full text]
  • Etrust Access Control for UNIX Utilities Guide
    e Trust™ Access Control for UNIX Utilities Guide 5.3 G00153-1E This documentation and related computer software program (hereinafter referred to as the “Documentation”) is for the end user’s informational purposes only and is subject to change or withdrawal by Computer Associates International, Inc. (“CA”) at any time. This documentation may not be copied, transferred, reproduced, disclosed or duplicated, in whole or in part, without the prior written consent of CA. This documentation is proprietary information of CA and protected by the copyright laws of the United States and international treaties. Notwithstanding the foregoing, licensed users may print a reasonable number of copies of this documentation for their own internal use, provided that all CA copyright notices and legends are affixed to each reproduced copy. Only authorized employees, consultants, or agents of the user who are bound by the confidentiality provisions of the license for the software are permitted to have access to such copies. This right to print copies is limited to the period during which the license for the product remains in full force and effect. Should the license terminate for any reason, it shall be the user’s responsibility to return to CA the reproduced copies or to certify to CA that same have been destroyed. To the extent permitted by applicable law, CA provides this documentation “as is” without warranty of any kind, including without limitation, any implied warranties of merchantability, fitness for a particular purpose or noninfringement. In no event will CA be liable to the end user or any third party for any loss or damage, direct or indirect, from the use of this documentation, including without limitation, lost profits, business interruption, goodwill, or lost data, even if CA is expressly advised of such loss or damage.
    [Show full text]
  • A Survival Guide for Unix Beginners
    1/9/2015 A survival guide for Unix beginners Latest: Productivity tips for academics Next: HOWTO: Get a great letter of recommendation Prev: Writing CEK-style interpreters in Haskell Rand: Higher-order list operations Survival guide for Unix newbies [article index] [email me] [@mattmight] [+mattmight] [rss] As a professor, I worry that the upcoming generation of programmers is missing out on the Unix experience, and with it, the power it grants. Modern computing environments tend to favor form over function: the primary objective in their design is ease of use for non-experts. Unix is a naked celebration of function over form. The premium is on control, efficiency and flexibility. Its audience is the power user. The origin of Unix's power is an organic design philosophy that emphasizes linguistic abstraction and composition. In Unix, a word is worth a thousand mouse clicks. I've written the short guide below as an introduction for those just getting started with Unix or Linux. (I'll write follow-up articles covering intermediate and advanced Unix.) Please feel free to forward this series to a student, friend, partner or spouse that needs a little help getting started. Update: After this, see the companion post on settling into Unix. http://matt.might.net/articles/basic-unix/ 1/11 1/9/2015 A survival guide for Unix beginners What is computing with Unix? Unix is a family of operating systems and environments that exploits the power of linguistic abstraction and composition to orchestrate tasks. Unix users spend a lot of time at the command line.
    [Show full text]
  • IBM I ILE Concepts
    IBM i Version 7.2 Programming ILE Concepts IBM SC41-5606-10 Note Before using this information and the product it supports, read the information in “Notices” on page 189. This edition applies to IBM® i 7.2 (product number 5770-SS1) and to all subsequent releases and modifications until otherwise indicated in new editions. This version does not run on all reduced instruction set computer (RISC) models nor does it run on CISC models. This document may contain references to Licensed Internal Code. Licensed Internal Code is Machine Code and is licensed to you under the terms of the IBM License Agreement for Machine Code. © Copyright International Business Machines Corporation 1997, 2013. US Government Users Restricted Rights – Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp. Contents ILE Concepts......................................................................................................... 1 PDF file for ILE Concepts............................................................................................................................. 3 Integrated Language Environment Introduction........................................................................................ 5 What Is ILE?............................................................................................................................................5 What Are the Benefits of ILE?................................................................................................................ 5 Binding...............................................................................................................................................5
    [Show full text]
  • TIP 57 Trauma-Informed Care in Behavioral Health Services
    A TREATMENT IMPROVEMENT PROTOCOL Trauma-Informed Care in Behavioral Health Services TIP 57 A TREATMENT IMPROVEMENT PROTOCOL Trauma-Informed Care in Behavioral Health Services TIP 57 U.S. DEPARTMENT OF HEALTH AND HUMAN SERVICES Substance Abuse and Mental Health Services Administration Center for Substance Abuse Treatment 1 Choke Cherry Road Rockville, MD 20857 Trauma-Informed Care in Behavioral Health Services Acknowledgments This publication was produced under contract numbers 270-99-7072, 270-04-7049, and 270­ 09-0307 by the Knowledge Application Program (KAP), a Joint Venture of The CDM Group, Inc., and JBS International, Inc., for the Substance Abuse and Mental Health Services Administration (SAMHSA), U.S. Department of Health and Human Services (HHS). Andrea Kopstein, Ph.D., M.P.H., Karl D. White, Ed.D., and Christina Currier served as the Contracting Officer’s Representatives. Disclaimer The views, opinions, and content expressed herein are the views of the consensus panel members and do not necessarily reflect the official position of SAMHSA or HHS. No official support of or endorsement by SAMHSA or HHS for these opinions or for the instruments or resources described are intended or should be inferred. The guidelines presented should not be considered substitutes for individualized client care and treatment decisions. Public Domain Notice All materials appearing in this volume except those taken directly from copyrighted sources are in the public domain and may be reproduced or copied without permission from SAMHSA or the authors. Citation of the source is appreciated. However, this publication may not be reproduced or distributed for a fee without the specific, written authorization of the Office of Communications, SAMHSA, HHS.
    [Show full text]