Sorry, this page is no longer available
We may earn an affiliate commission when you visit our partners.
Course image
Richard Böhm

What is covered?

  • Basics of scripting - no worry you don't know anything about scripting by now

  • Sha-bang explanation - what it is and why the heck it is called sha-bang

  • Decision making

  • Regular expressions

  • Wildcards

  • For & While loops

  • Functions

  • Reading arguments using CASE structure

  • Getopt

  • Getopts

  • ...and many more

And what about AWK? Yes, it is covered here.   And what about SED? Also covered.  

Why I have created this course?

Read more

What is covered?

  • Basics of scripting - no worry you don't know anything about scripting by now

  • Sha-bang explanation - what it is and why the heck it is called sha-bang

  • Decision making

  • Regular expressions

  • Wildcards

  • For & While loops

  • Functions

  • Reading arguments using CASE structure

  • Getopt

  • Getopts

  • ...and many more

And what about AWK? Yes, it is covered here.   And what about SED? Also covered.  

Why I have created this course?

Many years back, when I was starting as UNIX administrator, I had many ideas how to improve specific things using scripts. But, I couldn't find any good resource, which would take me through all needed topic in one place. Somewhere I got great explanation about sha-bang while regular expressions for shell scripting were only mentioned. Somewhere was good explanation about decision making in if statement, but SED and AWK part was missing, and that use of SED and AWK was in my carrer really important. Basically I cannot imagine any single production script, where I wouldn't used SED or AWK, because without them you are not able to create that "magic" in your script. 

Many years later, I am here to share in one place what is really needed in order to create magic script. Not only how to create script, do some decision making in if statements, write functions, use arrays, but mainly how to combine everything including AWK and SED. I was creating this course in a way, which would help me a lot to create great scripts during start of my career. All needed things in one place. 

Please, watch my preview lectures to see what we are going to build in this course.

Enroll now

What's inside

Learning objectives

  • Be able to create pro looking script with parameters
  • Use functions in script
  • Read files line by line using while loop
  • Use math in scripts
  • Be able to decide if value of specific variable is a regular file or a directory
  • Store commands output into an array
  • Be able to do decision making based on match with regular expressions
  • Use sed and awk to take your scripts into next level

Syllabus

Linux commands
Introduction - welcome!
pwd
cd
Read more

Test your knowleadge of what we just learned.

Test what we have just learned

Test what have you just learned

Check what have you just learned

Test what have you just learned.

Interested what [ -f $FILENAME ], [ -d $PATH ] and other filesystem comparisons can do?

for loop theory

From real world: for what purpose we use for loop

Save this course

Create your own learning path. Save this course to your list so you can find it easily later.
Save

Activities

Coming soon We're preparing activities for Linux Bash Shell Scripting: Complete Guide (incl. AWK & SED). These are activities you can do either before, during, or after a course.

Career center

Learners who complete Linux Bash Shell Scripting: Complete Guide (incl. AWK & SED) will develop knowledge and skills that may be useful to these careers:
System Administrator
A System Administrator is responsible for the upkeep, configuration, and reliable operation of computer systems, especially multi-user computers like servers. This often involves extensive use of the command-line interface and scripting to automate routine tasks, manage configurations, and troubleshoot issues efficiently across numerous machines. This course is an outstanding choice for aspiring and current System Administrators. It provides a comprehensive foundation in Linux Bash Shell scripting, including vital modules like decision making, loops, functions, and advanced argument parsing with Getopt and Getopts. The deep dive into AWK and SED, which are indispensable for processing logs and configuration files, will be particularly impactful for creating robust "production scripts" to streamline administrative workloads and maintain system stability. Mastering these skills is paramount for success in managing complex server environments.
Linux Engineer
A Linux Engineer specializes in designing, implementing, and maintaining robust Linux-based systems. This role demands profound expertise in the operating system's core functionalities, the command line, and automation through scripting to manage servers, deploy applications, and troubleshoot complex issues. For a Linux Engineer, this course is exceptionally well-suited, as it focuses entirely on mastering the Linux Bash Shell. The comprehensive coverage of Linux commands, scripting fundamentals, control flow like IF, FOR, and WHILE loops, and advanced features such as variables, arguments, and filesystem tests provides the essential toolkit. The extensive modules on AWK and SED are particularly invaluable for advanced text processing, log analysis, and data manipulation, enabling the creation of powerful scripts to optimize system performance and automate administrative tasks effectively.
Infrastructure Engineer
An Infrastructure Engineer designs, builds, and maintains the foundational IT systems and services that an organization relies upon, spanning servers, networks, and storage solutions. A deep understanding of operating systems, combined with powerful automation skills, is critical for creating scalable, reliable infrastructure. This course is directly applicable to an Infrastructure Engineer role, providing mastery of Linux Bash Shell scripting, which is essential for managing and automating tasks across diverse infrastructure components. The detailed instruction on Linux commands, variables, control flow, functions, and advanced argument parsing enables the creation of sophisticated scripts for configuration management, system monitoring, and deployment. Furthermore, the expertise gained in AWK and SED is invaluable for parsing logs, processing output, and transforming data to ensure the smooth operation and optimization of complex infrastructure environments.
Automation Engineer
An Automation Engineer focuses on designing and implementing automated solutions to optimize processes, reduce manual effort, and improve efficiency across various domains, from manufacturing to IT operations. Bash scripting is a cornerstone tool for automating system-level tasks, data processing, and workflow orchestration, especially in Linux environments. This course is an excellent resource for an Automation Engineer. It provides practical, hands-on experience in creating scripts with parameters, utilizing functions, and implementing decision-making logic using regular expressions and conditional statements. The in-depth sections on AWK and SED are particularly powerful for developing sophisticated automation scripts that can parse complex text data, transform outputs, and manipulate configuration files, essential for building truly "magic" scripts that streamline operations and enhance system reliability.
DevOps Engineer
A DevOps Engineer bridges the gap between software development and IT operations, focusing on automating and streamlining the software delivery lifecycle. This role heavily relies on scripting for tasks ranging from continuous integration and deployment (CI/CD) to infrastructure management and monitoring. The Linux Bash Shell Scripting course is highly relevant for a DevOps Engineer, offering a deep understanding of shell automation crucial for managing Linux-based environments. Learning to create "PRO looking script with parameters," use functions, and apply regular expressions for robust decision-making directly translates to building efficient automated pipelines. Furthermore, the detailed coverage of AWK and SED provides powerful tools for parsing logs, transforming configuration files, and extracting critical data, essential for maintaining and troubleshooting complex systems and deployments.
Site Reliability Engineer
A Site Reliability Engineer (SRE) combines software engineering principles with operations to build and run large-scale, fault-tolerant systems. A core aspect of the SRE role is to reduce toil through automation, monitor system health, and respond to incidents efficiently, all of which heavily rely on robust scripting skills. The Linux Bash Shell Scripting course is highly beneficial for a Site Reliability Engineer. Mastering the creation of scripts with parameters, utilizing functions, and implementing decision-making based on regular expressions enables the automation of monitoring alerts, diagnostic routines, and incident response runbooks. The extensive coverage of AWK and SED is indispensable for parsing large volumes of log data, extracting crucial metrics, and transforming data for analysis, directly contributing to improving system observability and enabling proactive problem-solving to maintain high reliability.
Cloud Engineer
A Cloud Engineer is responsible for designing, implementing, and managing cloud infrastructure and services on platforms like AWS, Azure, or Google Cloud. While cloud platforms offer specialized tools, a significant portion of cloud operations, especially involving Linux virtual machines, containers, and serverless functions, still benefits immensely from strong Bash scripting skills for automation and orchestration. This course provides a strong foundation for a Cloud Engineer, equipping them with the ability to write scripts for provisioning resources, deploying applications, managing configurations, and performing routine maintenance tasks on Linux-based cloud instances. The focus on robust scripting, including arguments, loops, functions, and powerful text processing with AWK and SED, is crucial for automating operations and efficiently managing infrastructure as code in the cloud environment.
Build and Release Engineer
A Build and Release Engineer focuses on the entire software delivery pipeline, from compiling source code to deploying applications to production environments. This role requires significant expertise in automating build processes, running tests, packaging software, and orchestrating deployments, frequently relying on scripting in a Linux context. This course is highly relevant for a Build and Release Engineer, providing the essential skills to craft robust Bash scripts for continuous integration and continuous delivery (CI/CD). Learning to use command substitution, handle arguments, implement decision-making logic, and create functions directly supports automating complex build steps. The ability to use AWK and SED for parsing build logs, extracting version information, or manipulating deployment manifests is particularly valuable for ensuring smooth, repeatable, and error-free software releases.
Database Administrator
A Database Administrator (DBA) is responsible for the performance, integrity, and security of databases, which frequently reside on Linux servers. This role involves a variety of routine maintenance tasks, monitoring, and troubleshooting that can be greatly enhanced by automation. This course is highly relevant for a Database Administrator. The ability to write powerful Bash scripts enables DBAs to automate tasks such as backups, log rotation, performance monitoring, and executing routine checks efficiently. Learning about command substitution, control flow, functions, and storing command output into arrays provides a robust framework for creating these automation scripts. The detailed sections on AWK and SED are especially valuable for parsing database logs, extracting specific error messages, or formatting query results, helping to streamline database management and ensure operational consistency.
Technical Support Engineer
A Technical Support Engineer provides in-depth assistance to users and resolves complex technical issues, often involving diagnosing problems on servers, applications, and networks. For senior or escalated support roles, the ability to navigate Linux systems, analyze logs, and even write diagnostic scripts is paramount. The Linux Bash Shell Scripting course is highly beneficial for a Technical Support Engineer; it equips them with the fundamental skills for efficient troubleshooting. Learning Linux commands, shell navigation, and how to read files line by line using while loops are crucial for investigating system behavior. The comprehensive coverage of regular expressions, AWK, and SED is particularly powerful for rapidly parsing vast log files, identifying error patterns, and extracting key diagnostic information, enabling faster problem resolution and even proactive issue detection through custom scripts.
Security Engineer
A Security Engineer is tasked with protecting an organization's computer systems and networks from cyber threats. This often involves monitoring systems for suspicious activity, analyzing vast amounts of log data, automating security checks, and scripting defensive measures. The Linux Bash Shell Scripting course is highly relevant for a Security Engineer, as proficiency in shell scripting is a crucial skill for security operations. Learning to use regular expressions for pattern matching, filesystem tests for permission checks, and robust control flow structures directly supports automating security audits and incident response actions. The in-depth coverage of AWK and SED is particularly powerful for parsing security logs, identifying anomalies, extracting critical indicators of compromise, and transforming data for forensic analysis, enabling more efficient and effective threat detection and remediation strategies.
Data Engineer
A Data Engineer designs, builds, and maintains data pipelines, ensuring data is accurately collected, transformed, and made available for analysis. While roles often emphasize programming languages like Python, Bash scripting is a powerful complement for automating data ingestion, orchestrating workflows, and performing initial data manipulation, especially with log files or text-based datasets. An advanced degree is sometimes preferred for this field. This course may be helpful, particularly through its in-depth coverage of AWK and SED, which are exceptionally effective for parsing, filtering, and transforming unstructured data directly. The understanding of Linux commands, redirection, piping, and scripting with variables and control flow helps build a foundation for creating robust and efficient data processing automation within a Linux environment, complementing other data tools.
Bioinformatics Analyst
A Bioinformatics Analyst applies computational tools and techniques to analyze large biological datasets, such as genomic and proteomic information, frequently working within Linux environments and high-performance computing clusters. This role often requires strong scripting skills to automate data processing pipelines and manage scientific workflows. An advanced degree, such as a Master's or PhD, is typically required for this specialized field. This course may be useful for a Bioinformatics Analyst. It provides fundamental skills in Linux Bash Shell scripting, which are essential for managing files, executing programs, and chaining commands for data preprocessing. The detailed modules on AWK and SED are particularly helpful for parsing, filtering, and transforming large text-based biological data files, enabling efficient manipulation of sequence data or experimental results within complex bioinformatics pipelines.
Network Engineer
A Network Engineer designs, implements, and manages an organization's computer networks. While specialized network operating systems are common, many network appliances and monitoring tools run on Linux, making shell scripting a valuable skill for automation, configuration management, and troubleshooting. This course may be useful for a Network Engineer. It provides expertise in Linux Bash Shell scripting, which can be applied to managing Linux-based network infrastructure, automating configuration deployments, collecting network statistics, and performing routine administrative tasks. The comprehensive coverage of Linux commands, redirection, piping, and control flow, combined with the powerful text processing capabilities of AWK and SED, can be helpful for analyzing log files from network devices, parsing command outputs, and automating network diagnostics, enhancing efficiency in network operations.
Quality Assurance Engineer
A Quality Assurance Engineer ensures software products meet quality standards through rigorous testing and validation processes. While often focusing on specialized testing frameworks, the ability to automate test environments, generate test data, and orchestrate complex test scenarios often relies on foundational scripting skills, particularly when interacting with backend systems or deploying applications on Linux. This course may be helpful for a Quality Assurance Engineer. It provides practical knowledge in Linux Bash Shell scripting, including command substitution, control flow with IF, FOR, and WHILE loops, which are crucial for automating repetitive tasks. The coverage of AWK and SED can also be helpful for validating output from applications, parsing log files generated during testing, or preparing specific test data sets, enabling more efficient and reliable testing processes. It helps build a foundation for designing and implementing automated test scripts.

Reading list

We haven't picked any books for this reading list yet.
Focuses on using AWK for data analysis. It covers topics such as data cleaning, data manipulation, and statistical analysis.
Provides a comprehensive overview of AWK, covering basic concepts, advanced techniques, and real-world applications. It includes numerous examples and exercises to help readers gain practical experience.
Provides a comprehensive overview of both Sed and Awk, making it suitable for beginners and experienced users alike. It covers the basics of both tools, as well as more advanced topics such as regular expressions and shell scripting.
Covers both sed and awk, two powerful text processing tools. It provides a comprehensive overview of both languages, with a focus on practical applications.
Covers a wide range of text processing tools, including AWK. It provides a comprehensive overview of AWK's features and capabilities, making it a valuable resource for system administrators and developers.
Provides a collection of ready-to-use AWK recipes for common data processing tasks. It covers topics such as text manipulation, data analysis, system administration, and more.
Written by the creators of AWK, this book is the definitive guide to the language. It provides a thorough explanation of AWK's syntax, semantics, and implementation, making it a valuable resource for experienced AWK programmers.
Practical guide to using Sed, with a focus on real-world examples. It covers a wide range of topics, from basic editing tasks to more complex text processing operations.
Provides a gentle introduction to AWK, suitable for beginners with no prior programming experience. It covers the basics of the language and provides numerous examples and exercises.
This pocket reference concise and easy-to-use guide to Sed and Awk. It provides quick reference to the most common commands and options, making it a valuable resource for both beginners and experienced users.
Provides a comprehensive guide to using Sed and Awk in a variety of real-world scenarios. It covers topics such as text processing, data manipulation, and scripting.
Comprehensive guide to using Sed and Awk in a variety of real-world scenarios. It covers topics such as text processing, data manipulation, and scripting.
Provides a comprehensive overview of AWK, with a focus on its design and implementation. It covers topics such as regular expressions, data structures, and performance optimization.
Practical guide to using the sed and awk commands. Sed and awk are two powerful tools for text processing and data manipulation, and they are often used in shell scripts.
Provides a comprehensive overview of the Linux command line, including shell scripting. It is suitable for both beginners and experienced users.
Comprehensive guide to advanced Bash scripting. It covers topics such as regular expressions, debugging, and performance optimization.
Classic reference on the AWK programming language. AWK powerful tool for text processing and data manipulation, and it is often used in shell scripts.
Comprehensive guide to the Bash shell. It covers all aspects of the Bash shell, from basic commands to advanced scripting techniques.
Quick reference guide to the Bash shell. It great resource for experienced Bash users who need a quick refresher on the command line.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Similar courses are unavailable at this time. Please try again later.
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2025 OpenCourser