Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Exercism

AWK

via Exercism

Overview

Coursera Flash Sale
40% Off Coursera Plus for 3 Months!
Grab it
awk is an interpreted programming language designed for text processing and typically used as a data extraction and reporting tool. It is a standard feature of most Unix-like operating systems, and has a POSIX specification. An awk programming paradigm can be said to be "data driven": an awk program reads lines (or other units of text), and looks for matches of . When a match occurs, the specified is performed.

Syllabus

  • Hello World
    • Exercism's classic introductory exercise. Just say "Hello, World!".
  • Basics
    • Introduction to fundamental AWK concepts
  • Simple Report
    • Generate a simple report from an input CSV file.
  • Vehicle Purchase
    • Learn about AWK patterns while preparing for your next vehicle purchase.
  • Two Fer
    • Create a sentence of the form "One for X, one for me.".
  • Acronym
    • Convert a long phrase to its acronym.
  • Allergies
    • Given a person's allergy score, determine whether or not they're allergic to a given item, and their full list of allergies.
  • Collatz Conjecture
    • Calculate the number of steps to reach 1 using the Collatz conjecture.
  • Difference of Squares
    • Find the difference between the square of the sum and the sum of the squares of the first N natural numbers.
  • ETL
    • Change the data format for scoring a game to more easily add other languages.
  • Grains
    • Calculate the number of grains of wheat on a chessboard given that the number on each square doubles.
  • Hamming
    • Calculate the Hamming distance between two DNA strands.
  • House
    • Output the nursery rhyme 'This is the House that Jack Built'.
  • Isogram
    • Determine if a word or phrase is an isogram.
  • Line Up
    • Help lining up customers at YaÊ»qÅ«b's Deli.
  • Largest Series Product
    • Given a string of digits, calculate the largest product for a contiguous substring of digits of length n.
  • Leap
    • Determine whether a given year is a leap year.
  • Pangram
    • Determine if a sentence is a pangram.
  • Proverb
    • For want of a horseshoe nail, a kingdom was lost, or so the saying goes. Output the full text of this proverbial rhyme.
  • Raindrops
    • Convert a number into its corresponding raindrop sounds - Pling, Plang and Plong.
  • Resistor Color Duo
    • Convert color codes, as used on resistors, to a numeric value.
  • Reverse String
    • Reverse a given string.
  • RNA Transcription
    • Given a DNA strand, return its RNA complement.
  • Scrabble Score
    • Given a word, compute the Scrabble score for that word.
  • Series
    • Given a string of digits, output all the contiguous substrings of length `n` in that string.
  • Armstrong Numbers
    • Determine if a number is an Armstrong number.
  • Beer Song
    • Produce the lyrics to that beloved classic, that field-trip favorite: 99 Bottles of Beer on the Wall.
  • Binary Search
    • Implement a binary search algorithm.
  • Bob
    • Bob is a lackadaisical teenager. In conversation, his responses are very limited.
  • Bottle Song
    • Produce the lyrics to the popular children's repetitive song: Ten Green Bottles.
  • Clock
    • Implement a clock that handles times without dates.
  • Darts
    • Calculate the points scored in a single toss of a Darts game.
  • Eliud's Eggs
    • Help Eliud count the number of eggs in her chicken coop by counting the number of 1 bits in a binary representation.
  • Food Chain
    • Generate the lyrics of the song 'I Know an Old Lady Who Swallowed a Fly'.
  • Gigasecond
    • Given a moment, determine the moment that would be after a gigasecond has passed.
  • Grade School
    • Given students' names along with the grade that they are in, create a roster for the school.
  • High Scores
    • Manage a player's High Score list.
  • ISBN Verifier
    • Check if a given string is a valid ISBN-10 number.
  • Matching Brackets
    • Make sure the brackets and braces all match.
  • Pascal's Triangle
    • Compute Pascal's triangle up to a given number of rows.
  • Phone Number
    • Clean up user-entered phone numbers so that they can be sent SMS messages.
  • Prime Factors
    • Compute the prime factors of a given natural number.
  • Protein Translation
    • Translate RNA sequences into proteins.
  • Queen Attack
    • Given the position of two queens on a chess board, indicate whether or not they are positioned so that they can attack each other.
  • Resistor Color Trio
    • Convert color codes, as used on resistors, to a human-readable label.
  • Robot Simulator
    • Write a robot simulator.
  • Rotational Cipher
    • Create an implementation of the rotational cipher, also sometimes called the Caesar cipher.
  • Secret Handshake
    • Given a decimal number, convert it to the appropriate sequence of events for a secret handshake.
  • Space Age
    • Given an age in seconds, calculate how old someone is in terms of a given planet's solar years.
  • Sum of Multiples
    • Given a number, find the sum of all the multiples of particular numbers up to but not including that number.
  • Triangle
    • Determine if a triangle is equilateral, isosceles, or scalene.
  • Word Count
    • Given a phrase, count the occurrences of each word in that phrase.
  • All Your Base
    • Convert a number, represented as a sequence of digits in one base, to any other base.
  • Anagram
    • Given a word and a list of possible anagrams, select the correct sublist.
  • Automated readability index
    • Calculate the automated readability index for the text.
  • Book Store
    • To try and encourage more sales of different books from a popular 5 book series, a bookshop has decided to offer discounts of multiple-book purchases.
  • Diamond
    • Given a letter, print a diamond starting with 'A' with the supplied letter at the widest point.
  • Flower Field
    • Mark all the flowers in a garden.
  • Killer Sudoku Helper
    • Write a tool that makes it easier to solve Killer Sudokus
  • Kindergarten Garden
    • Given a diagram, determine which plants each child in the kindergarten class is responsible for.
  • Luhn
    • Given a number determine whether or not it is valid per the Luhn formula.
  • Pig Latin
    • Implement a program that translates from English to Pig Latin.
  • Prism
    • Calculate the path of a laser through refractive prisms.
  • Roman Numerals
    • Convert modern Arabic numbers into Roman numerals.
  • Saddle Points
    • Detect saddle points in a matrix.
  • Wordy
    • Parse and evaluate simple math word problems returning the answer as an integer.
  • Yacht
    • Score a single throw of dice in the game Yacht.
  • Atbash Cipher
    • Create an implementation of the Atbash cipher, an ancient encryption system created in the Middle East.
  • Bowling
    • Score a bowling game.
  • Crypto Square
    • Implement the classic method for composing secret messages called a square code.
  • Matrix
    • Given a string representing a matrix of numbers, return the rows and columns of that matrix.
  • Meetup
    • Calculate the date of meetups.
  • OCR Numbers
    • Given a 3 x 4 grid of pipes, underscores, and spaces, determine which number is represented, or whether it is garbled.
  • Run-Length Encoding
    • Implement run-length encoding and decoding.
  • Say
    • Given a number from 0 to 999,999,999,999, spell out that number in English.
  • Sieve
    • Use the Sieve of Eratosthenes to find all the primes from 2 up to a given number.
  • Simple Cipher
    • Implement the Vigenère cipher, a simple substitution cipher.
  • Spiral Matrix
    • Given the size, return a square matrix of numbers in spiral order.
  • Tournament
    • Tally the results of a small football competition.
  • Affine Cipher
    • Create an implementation of the Affine cipher, an ancient encryption algorithm from the Middle East.
  • Forth
    • Implement an evaluator for a very simple subset of Forth.
  • Grep
    • Search a file for lines matching a regular expression pattern. Return the line number and contents of each matching line.
  • Nth Prime
    • Given a number n, determine what the nth prime is.
  • Pythagorean Triplet
    • Given an integer N, find all Pythagorean triplets for which a + b + c = N.
  • Rectangles
    • Count the rectangles in an ASCII diagram.
  • Two Bucket
    • Given two buckets of different size, demonstrate how to measure an exact number of liters.
  • Variable Length Quantity
    • Implement variable length quantity encoding and decoding.
  • Poker
    • Pick the best hand(s) from a list of poker hands.
  • Change
    • Correctly determine change to be given using the least number of coins.
  • Knapsack
    • Given a knapsack that can only carry a certain weight, determine which items to put in the knapsack in order to maximize their combined value.
  • List Ops
    • Implement basic list operations.
  • Mazy Mice
    • Meet Mickey and Minerva, two clever mice who love to navigate their way through a maze to find cheese. They enjoy a good challenge, but with only their tiny mouse brains, they prefer if there is only one correct path to the cheese.

Reviews

Start your review of AWK

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.