Code:
\documentclass[11pt]{article}
\usepackage{graphics}
\usepackage{graphicx}
\begin{document}
\title {Five Likable Features in Unix}
\author{Daniel E. Kowalski\\
Florida State University}
\date{November 2012}
\maketitle
\begin{abstract}
This paper describes the five features: "grep", "sed", "latex", "gnuplot", and Perl's "push/pop" function.
\end{abstract}
\section{Grep}
\label{grep_intro}
The \textit{grep}~\cite{grepA} command searches one or more input files for lines containing a match to a specified pattern. By default, grep prints the matching lines.~\cite{grepB}
\subsection{Common Grep Options}
\label{invoking}
\begin{verbatim}
grep [options] PATTERN [FILE...]
grep [options] [-e PATTERN | -f FILE] [FILE...]
-----------------------------------------------
-A NUM, --after-context=NUM
-a, --text
--colour[=WHEN], --color[=WHEN]
-c, --count
-E, --extended-regexp
-e PATTERN, --regexp=PATTERN
-F, --fixed-strings
--perl-regexp Interpret PATTERN as a Perl regular expression.
-f FILE, --file=FILE
-G, --basic-regexp
-H, --with-filename
--help
-n, --line-number
-V, --version
\end{verbatim}
\subsection{Grep Regular Expression Functionality}
\begin{verbatim}
? - The preceding item is optional and matched at most once.
* - The preceding item will be matched zero or more times.
+ - The preceding item will be matched one or more times.
{n} - The preceding item is matched exactly n times.
{n,} - The preceding item is matched n or more times.
{n,m} - The preceding item is matched at least n times, but
not more than m times.
[:alnum:], [:alpha:], [:cntrl:], [:digit:], [:graph:], [:lower:],
[:print:], [:punct:], [:space:], [:upper:], and [:xdigit:].
For example, [[:alnum:]] means [0-9A-Za-z].
In basic regular expressions the metacharacters ?, +, {, |, (, and )
lose their special meaning; instead use the backslashed versions \?,
\+, \{, \|, \(, and \).
\end{verbatim}
\label{example-grep}
\Large
\textbf{Example:}
\textit{grep "cat" animals.txt}\\
\normalsize
\textbf{animals.txt} file.
\begin{verbatim}
Horses nay.
Ducks quack.
The cat meows.
Dogs bark.
\end{verbatim}
\textbf{Result:}
\begin{verbatim}
The cat meows.
\end{verbatim}
---------------------------------------------------------------------------------------------------
\section{Sed}
\label{sed_intro}
\textit{Sed}~\cite{sedA} is a stream editor. A stream editor is used to perform basic text transformations on an input stream (a file or input from a pipeline). While in some ways similar to an editor which permits scripted edits (such as ed), sed works by making only one pass over the input(s), and is consequently more efficient. But it is sed's ability to filter text in a pipeline which particularly distinguishes it from other types of editors.
\subsection{Sed Commands}
\begin{table}[htb]
\begin{tabular}{|c|c|c|}
\hline
Label&Comment&Block\\
\hline\hline
= - print line number&a \ - Append&b label - Branch\\
\hline
c \ - change&d and D - Delete&g and G - Get\\
\hline
h and H - Hole&i\ - Insert&l - Look\\
\hline
n and N - Next&p and P - Print&q - Quit\\
\hline
r filename - Read File&s/..../..../ - Substitute&t label - Test\\
\hline
w filename - Write Filename&x - eXchange&y/..../..../ - Transform\\
\hline
\end{tabular}
\caption{Advanced Sed Usage}
\label{tab:commands}
\end{table}
\textbf{A Step-by-Step Sed Substitution:}~\cite{sedB}\\
\begin{enumerate}
\item Read from standard input or redirection (ex: "\textless alphabet.txt").
\item Check string for regular expression match (ex: 's/abc/ABC').
\item Substitute first occurrence 'abc' with 'ABC'.
\item Pipe output to file or standard output (ex: " \textbar cat").\\
\end{enumerate}
\label{example-sed}
\Large
\textbf{Example:}
\textit{sed 's/abc/ABC/' \textless alphabet.txt \textbar cat}\\
\normalsize
\textbf{alphabet.txt} file.
\begin{verbatim}
abcdefghijklmnopqrstuvwxyz
\end{verbatim}
\textbf{Result:}
\begin{verbatim}
ABCdefghijklmnopqrstuvwxyz
\end{verbatim}
---------------------------------------------------------------------------------------------------
\section{Latex}
\label{latex_intro}
LaTeX~\cite{latexA} is a high-quality typesetting system; it includes features designed for the production of technical and scientific documentation. LaTeX is the de facto standard for the communication and publication of scientific documents.
\begin{itemize}
\item Article: for articles, the most commonly used class
\item Report: variant of article for a report
\item Letter: for letters
\item Book: for chapters of a book
\item Proc: for proceedings, based on article
\item Slides: to produce transparencies
\end{itemize}
\subsection{Sample LaTeX Code}
Here is a subset of code that was used to create this document:~\cite{latexB}
\begin{figure}
\begin{center}
\includegraphics[width=1.0\textwidth]{latexsshot}
\end{center}
\caption{XV Image of Latex Example}
\end{figure}
\begin{verbatim}
\documentclass[11pt]{article}
\usepackage{graphics}
\usepackage{graphicx}
\begin{document}
\title {Five Likable Features in Unix}
\author{Daniel E. Kowalski\\
Florida State University}
\date{November 2012}
\maketitle
\end{verbatim}
\section{Perl - Push/Pop Functionality}
Perl~\cite{perlA} is a general-purpose programming language originally developed for text manipulation and now used for a wide range of tasks including system administration, web development, network programming, GUI development, and more.
The language is intended to be practical (easy to use, efficient, complete) rather than beautiful (tiny, elegant, minimal). Its major features are that it's easy to use, supports both procedural and object-oriented (OO) programming, has powerful built-in support for text processing.
\subsection{Push/Pop Functions}
\begin{itemize}
\item \textbf{push}: Treats ARRAY as a stack by appending the values of LIST to the end of ARRAY. The length of ARRAY increases by the length of LIST.
\begin{verbatim}
$value (LIST) {
$ARRAY[++$#ARRAY] = $value;
}
\end{verbatim}
\item \textbf{pop}: Pops and returns the last value of the array, shortening the array by one element.
\begin{verbatim}
@myNames = ('Larry', 'Curly', 'Moe');
$oneName = pop(@myNames);
\end{verbatim}
\end{itemize}
\section{Gnuplot}
Gnuplot~\cite{gnuplotA} is a portable command-line driven graphing utility for Linux, OS/2, MS Windows, OSX, VMS, and many other platforms. The source code is copyrighted but freely distributed (i.e., you don't have to pay for it). It was originally created to allow scientists and students to visualize mathematical functions and data interactively, but has grown to support many non-interactive uses such as web scripting. It is also used as a plotting engine by third-party applications like Octave. Gnuplot has been supported and under active development since 1986.
\begin{figure}
\begin{center}
\includegraphics[width=1.0\textwidth]{gnugraph}
\end{center}
\caption{XV Image of Gnuplot Graph}
\end{figure}
\begin{figure}
\begin{center}
\includegraphics[width=1.0\textwidth]{xfig}
\end{center}
\caption{Xfig Drawing}
\end{figure}
\bibliographystyle{abbrv}
\bibliography{refs}
\end{document}