%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Using Linux Tools % % Author: FOSSEE % Copyright (c) 2009, FOSSEE, IIT Bombay %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \documentclass[17pt,compress]{beamer} \usepackage{beamerthemesplit} \mode { \usetheme{Warsaw} \useoutertheme{infolines} \setbeamercovered{transparent} \setbeamertemplate{navigation symbols}{} } % Taken from Fernando's slides. \usepackage{ae,aecompl} \usepackage[scaled=.95]{helvet} \usepackage[english]{babel} \usepackage[latin1]{inputenc} \usepackage[T1]{fontenc} % change the alerted colour to LimeGreen \definecolor{LimeGreen}{RGB}{50,205,50} \setbeamercolor{structure}{fg=LimeGreen} \author[FOSSEE]{} \institute[IIT Bombay]{} \date[]{} % \setbeamercovered{transparent} % theme split \usepackage{verbatim} \newenvironment{colorverbatim}[1][]% {% \color{blue} \verbatim }% {% \endverbatim }% \usepackage{mathpazo,courier,euler} \usepackage{listings} \lstset{language=sh, basicstyle=\ttfamily\bfseries, showstringspaces=false, keywordstyle=\color{black}\bfseries} % logo \logo{\includegraphics[height=1.30 cm]{../images/3t-logo.pdf}} \logo{\includegraphics[height=1.30 cm]{../images/fossee-logo.pdf} \hspace{7.5cm} \includegraphics[scale=0.99]{../images/fossee-logo.pdf}\\ \hspace{281pt} \includegraphics[scale=0.80]{../images/3t-logo.pdf}} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % DOCUMENT STARTS \begin{document} \sffamily \bfseries \title [Text Processing] {Text Processing} \author [FOSSEE] {\small Talk to a Teacher\\{\color{blue}\url{http://spoken-tutorial.org}}\\\vspace{0.25cm}National Mission on Education through ICT\\{\color{blue}\url{ http://sakshat.ac.in}} \\ [1.65cm] Contributed by FOSSEE Team \\IIT Bombay \\[0.3cm] } % slide 1 \begin{frame} \titlepage \end{frame} \begin{frame} \frametitle{Objectives} \label{sec-2} At the end of this tutorial, you will be able to, \begin{itemize} \item Sort lines of text files \item Print lines matching a pattern \item Translate or delete characters \item Omit repeated lines \end{itemize} \end{frame} \begin{frame} \frametitle{Pre-requisites} \label{sec-3} Spoken tutorial on, \begin{itemize} \item Getting started with Linux \item Redirection and Piping \end{itemize} \end{frame} \begin{frame}[fragile] \frametitle{\texttt{sort}} \verb~$ cut -d " " -f 2- marks1.txt \~ \verb~| paste -d " " students.txt -\~ \verb~| sort -t " " -k 2 -rn~ \begin{itemize} \item \texttt{-t} the delimiter between fields \item \texttt{-k} field to use for sorting \item \texttt{-r} for sorting in the reverse order \item \texttt{-n} to choose numerical sorting \end{itemize} \end{frame} \begin{frame}[fragile] \frametitle{\texttt{tr}} \begin{itemize} \item Translates or deletes characters \item Reads from \texttt{stdin} and outputs to \texttt{stdout} \item Given, two sets of characters, replaces one with other \end{itemize} \end{frame} \begin{frame} \frametitle{Summary} \label{sec-8} In this tutorial, we have learnt to, \begin{itemize} \item Use the ``sort'' command to sort lines of text files \item Use the ``grep'' command to search text pattern \end{itemize} \end{frame} \begin{frame} \frametitle{Summary..} \begin{itemize} \item Use the ``tr'' command to translate and/or delete characters \item Use the ``uniq'' command to omit repeated lines in a text \end{itemize} \end{frame} \begin{frame}[fragile] \frametitle{Evaluation} \label{sec-9} \begin{enumerate} \item To obtain a one-per-line pattern, which command is used? \vspace{3pt} \begin{itemize} \item grep -f \item grep -i \item grep -v \item grep -e \end{itemize} \end{enumerate} \end{frame} \begin{frame}[fragile] \frametitle{Evaluation..} \begin{enumerate} \setcounter{enumi}{1} \item Translate the word `linux' to upper-case \vspace{8pt} \item Sort the output of ``ls -al`` command, numerically and by filesize in ascending order \end{enumerate} \end{frame} \begin{frame} \frametitle{Solutions} \label{sec-10} \begin{enumerate} \item grep -f \vspace{15pt} \item \$ echo `linux' | tr a-z A-Z \vspace{15pt} \item \$ ls -al | sort -n -k5 \end{enumerate} \end{frame} \begin{frame} \frametitle{SDES \& FOSSEE} \begin{center} \begin{itemize} \item \small{SDES}\\ \small{\color{LimeGreen}Software Development techniques for Engineers and Scientists} \\ \scriptsize An initiative by FOSSEE. \\ \vspace{3pt} \scriptsize For more information on SDES, please visit {\color{blue}\url{http://fossee.in/sdes}}\\ \vspace{10pt} \item \small{FOSSEE}\\ \small {\color{LimeGreen}Free and Open-source Software for \\Science and Engineering Education} \\ \scriptsize Based at IIT Bombay, Funded by MHRD.\\ \vspace{3pt} \scriptsize Part of National Mission on Education through ICT \\(NME-ICT) \\ \end{itemize} \end{center} \end{frame} \begin{frame} \frametitle{About the Spoken Tutorial Project} \begin{itemize} \item Watch the video available at {\color{blue}\url{http://spoken-tutorial.org /What\_is\_a\_Spoken\_Tutorial}} \item It summarises the Spoken Tutorial project \item If you do not have good bandwidth, you can download and watch it \end{itemize} \end{frame} \begin{frame} \frametitle{Spoken Tutorial Workshops}The Spoken Tutorial Project Team \begin{itemize} \item Conducts workshops using spoken tutorials \item Gives certificates to those who pass an online test \item For more details, please write to \\ \hspace {0.5cm}{\color{blue}contact@spoken-tutorial.org} \end{itemize} \end{frame} \begin{frame} \frametitle{Acknowledgements} \begin{itemize} \item Spoken Tutorial Project is a part of the Talk to a Teacher project \item It is supported by the National Mission on Education through ICT, MHRD, Government of India \item More information on this Mission is available at: \\{\color{blue}\url{http://spoken-tutorial.org/NMEICT-Intro}} \end{itemize} \end{frame} \begin{frame} \begin{block}{} \begin{center} {\Large THANK YOU!} \end{center} \end{block} \begin{block}{} \begin{center} For more Information, visit our website\\ {\color{blue}\url{http://fossee.in/}} \end{center} \end{block} \end{frame} \end{document}