sed
awk
cut
sort
uniq
cat
tac(cat omgekeerd doet dus ook cat in omgekeerde volgorde)
tr


grep
read
echo
printf
fmt

pr
tail
head
more
less

diff
sdiff

sed
https://www.tutorialspoint.com/unix/unix-regular-expressions.htm
https://www.gnu.org/software/sed/manual/html_node/Regexp-Addresses.html
https://www.tutorialspoint.com/unix/unix-regular-expressions.htm
https://www.grymoire.com/Unix/Sed.html
https://devhints.io/bash
sed "<bereik><commando>"
<bereik>
regelno
regelno,
regelno,regelno
/patroon/
/patroon/,
/patroon begin/,/patroon eind/

& : Het hele gedeelte wat was gematched in het linkergedeelte. Met & kan dat in het vervang gedeelte op een andere plek gezet worden.
<commando>
s
p
d

Tip/Truc : sed en grep. Werken met apostrof (') of dubbele quote(")

Als in de commandstring een letterlijke apostrof of een dubbele quote voorkomt terwijl je dat teken ook gebruikt voor begin en eind van de commandstring.
Je wilt zo'n door "zo een" in een bestand.
Je zou natuurlijk " kunnen gebruiken voor de commandstring
(sed "s/zo'n/zo een/" bestand)
Maar in de gevallen dat je dat niet kunt omzeilen.
Op de plekken waar de letterlijke apostrof moet komen vervang de (letterlijke) apostrof door '\'' (' --> '\'')
Wat je dus in feite doet is de commandstring opsplitsen in 2 commandstrings met daartussen de letterlijke apostrof of quote (\' of \")
het commando wordt dus als volgt:
sed 's/zo'\''n/zo een/' bestand
1e gedeelte commandstring : 's/zo'
letterlijke apostrof                 : \'
2e gedeelte commandstring : 'n/zo een/'

Tip/Truc : sed en grep werken met tab

Eenvoudigste manier : gewoon een tab gebruiken.
Nadeel : Je kunt niet altijd zien of het om een tab gaat of om een spatie als je regel bekijkt.
Wanneer posix standaard niet wordt gebruikt en je dus niet [[:blank:]] etc. kunt gebruiken (zoals bijvoorbeeld bij Solaris)
Overal waar je een tab wilt sluit je voor de tab. De tab vervang je $'\t' en vervolgens open je weer de rest van de opdracht.
Dus : grep "[ \t]" bestand
Wordt : grep "[ "$'\t'"]" bestand
LET OP: $'\t' De ' moet echt een ' zijn en niet een " want anders wordt het letterlijke t i.p.v. tab. Ook de $ is echt nodig.

<ctrl-V> Zou ook moeten werken. nog niet echt getest.

awk
field seperator aanpassen
awk -F: '{print $1}'
awk -v FS=: '{print $1}'
awk '{print $1}' FS=:
awk 'BEGIN{FS=":"} {print $1}'

Binnen awk heb je ook de functie y
awk -F ";" {print $1}
awk -F ";" {printf "%s", $1}
https://www.gnu.org/software/gawk/manual/html_node/Print-Examples.html
https://likegeeks.com/awk-command/
https://www.tutorialspoint.com/awk/awk_basic_syntax.htm
https://www.howtogeek.com/562941/how-to-use-the-awk-command-on-linux/
https://linuxhint.com/20_awk_examples/#a4
https://www.grymoire.com/Unix/Awk.html

cut
Let op: default is tabs, geen whitespace
Als een spatie een delimiter moet zijn dan moet je dat expliciet opgeven met : -d" "
Let op : meerdere spaties direct achter elkaar zijn dus ook meerdere kolommen.

sort
-r reverse order
-m maand
-s bewaar volgorde binnen gesorteerde rijen. Dus als er rijen zijn waar gelijke waarden in de kolom zijn dan wordt daarbinnen niet ver gesorteerd.
-n numeriek
-f Geen verschil hoofdletters/kleine letters. -h sorteer op human numerieke waarden -t field delimiter.
Let op: Is een field delimiter gedefinieerd dan telt elke field delimiter. 2 Field delimiters achter elkaar betekent een leeg veld.
-k k1,1 zorgt er dat alleen de 1e kolom in sortering wordt meegenomen en niet alle kolommen erachter
-u uniek
-R Random sort
-o Stuur output naar genoemde file
sort
-rreverse order
-mmaand
-sbewaar volgorde binnen gesorteerde rijen. Dus als er rijen zijn waar gelijke waarden in de kolom zijn dan wordt daarbinnen niet ver gesorteerd.
-nnumeriek
-fGeen verschil hoofdletters/kleine letters.
-hsorteer op human numerieke waarden
-t field delimiter.
Let op: Is een field delimiter gedefinieerd dan telt elke field delimiter. 2 Field delimiters achter elkaar betekent een leeg veld.
-kk1,1 zorgt er dat alleen de 1e kolom in sortering wordt meegenomen en niet alle kolommen erachter
-uuniek
-RRandom sort
-oStuur output naar genoemde file
https://linuxhandbook.com/sort-command/
https://www.geeksforgeeks.org/sort-command-linuxunix-examples/

uniq

cat

tac(cat omgekeerd doet dus ook cat hetzelfde als cat. Inhoud file wordt van achteren naar voren getoond.)

tr


grep

read
help info : read --help
-a -d delimiter -p prompt -r backslashes worden niet gebruikt als escape character Worden gegevens via een | aangeboden aan read dan zijn de gebruikte parameters leeg na afloop van het commando
echo a b | read P1 P2
Wordt dit gedaan via <, << of <<< dan zijn de gebruikte parameters na afloop wel gevuld.
read P1 P2 <<< $(echo a b)

echo

printf
LET OP: Zet bij strings voor alle zekerheid tussen "" ivm eventuele spaties.
fmt


pr

tail

head

more

less