Sed 1

By . Latest revision .

Uppgift för att träna på reguljära uttryck och textprocessering med verktyget GNU sed.

#Förkunskaper

Du behöver ha gått igenom artiklarna som berör reguljära uttryck och artikeln om sed:

  1. Regulära uttryck.
  2. sed.

#Hämta labben

Labben automatgenereras för dig. Gör så här för att checka ut din personliga labb.

Gå till din kurskatalog i terminalen och kör följande kommando.

# Flytta till kurskatalogen
dbwebb create sed1

Materialet till labben skapas nu och sparas i din kurskatalog enligt följande.

Fil Innehåll
instruction.html Beskrivning av labben och de uppgifter som skall göras.
answer.bash Här skall du skriva din kod för att lösa respektive uppgift i labben.
emails.txt textfil för vissa av uppgifterna.
numbers.txt textfil för vissa av uppgifterna.
quotes.txt textfil för vissa av uppgifterna.
substitution.txt textfil för vissa av uppgifterna.

Öppna filen instruction.html i en webbläsare och läs igenom de uppgifter som labben omfattar.

Öppna filen answer.bash i din texteditor och koda ihop svaren på uppgifterna.

Skriv din bash kod inom $( ) för att den ska exekveras och returnera svaret, tex:

ANSWER=$( sed -E -n '/regex/p' filename.txt )

Du kan testa dina lösningar genom att köra programmet answer.bash i din terminal. De flesta terminaler bör fungera fint. För säkerhets skull bör du exekvera labben inuti en container med Ubuntu:22.04.

$ ./answer.bash

#Krav

  1. Gör de uppgifter som finns i labben instruction.html.

  2. Skriv dina lösningar, på rätt plats, i filen answer.bash.

  3. Testkör din labb genom att köra filen answer.bash.

  4. Ladda upp, validera och publicera labben genom att göra följande kommando i kurskatalogen i terminalen.

# Flytta till kurskatalogen
dbwebb validate sed1
dbwebb publish sed1

Rätta eventuella fel som dyker upp och publisera igen. När det ser grönt ut så är du klar.

#Tips från coachen

Använd https://regex101.com/ för att snabbt testa och följa uttrycken. Tänk på att det kan skilja lite mellan programmen som hanterar regex.

Lycka till och hojta till i Discord om du behöver hjälp!

#Revision history

  • 2023-09-13: (A, lew) Ny inför HT23.

Document source.

Category: vlinux.