Awk: verschil tussen versies
Naar navigatie springen
Naar zoeken springen
(Een tussenliggende versie door dezelfde gebruiker niet weergegeven) | |||
Regel 30: | Regel 30: | ||
</pre> | </pre> | ||
− | Filter rules according to a regular expression: All lines starting with the string 'w' | + | Regular expressions: Include all lines containing <code>gcc</code>: |
+ | |||
+ | <pre> | ||
+ | $ awk '/gcc/ {print}' ls_usr_bin.txt | ||
+ | |||
+ | 4 c89-gcc | ||
+ | 4 c99-gcc | ||
+ | 0 gcc | ||
+ | 0 gcc-9 | ||
+ | 0 gcc-ar | ||
+ | 0 gcc-ar-9 | ||
+ | 0 gcc-nm | ||
+ | 0 gcc-nm-9 | ||
+ | 0 gcc-ranlib | ||
+ | 0 gcc-ranlib-9 | ||
+ | 0 x86_64-linux-gnu-gcc | ||
+ | 1132 x86_64-linux-gnu-gcc-9 | ||
+ | 0 x86_64-linux-gnu-gcc-ar | ||
+ | 36 x86_64-linux-gnu-gcc-ar-9 | ||
+ | 0 x86_64-linux-gnu-gcc-nm | ||
+ | 36 x86_64-linux-gnu-gcc-nm-9 | ||
+ | 0 x86_64-linux-gnu-gcc-ranlib | ||
+ | 36 x86_64-linux-gnu-gcc-ranlib-9 | ||
+ | </pre> | ||
+ | |||
+ | Filter rules according to a regular expression: All lines starting with the string 'w' → DOESN'T WORK!? | ||
<pre> | <pre> |
Huidige versie van 28 sep 2022 om 16:36
Awk is a scripting language for manipulating data in files - Maybe what I would call a parser or text file parser. Around 2021-2022, I Occasionally switch between data in spreadsheets and in associative Bash arrays.
So maybe I've just been looking for Awk? It is thanks to this video: - Gary Exlains - Everyone needs to learn a little bit of AWK that I came across this.
Examples
Create a sample file:
cd Desktop ls /usr/bin -s > ls_usr_bin.txt
Output a file to screen:
awk '{print}' ls_usr_bin.txt
of
awk '{print $0}' ls_usr_bin.txt
where $0
represents the entire line.
Print only the first column of the file (where fields are separated by a space);
awk '{print $1}' ls_usr_bin.txt
Regular expressions: Include all lines containing gcc
:
$ awk '/gcc/ {print}' ls_usr_bin.txt 4 c89-gcc 4 c99-gcc 0 gcc 0 gcc-9 0 gcc-ar 0 gcc-ar-9 0 gcc-nm 0 gcc-nm-9 0 gcc-ranlib 0 gcc-ranlib-9 0 x86_64-linux-gnu-gcc 1132 x86_64-linux-gnu-gcc-9 0 x86_64-linux-gnu-gcc-ar 36 x86_64-linux-gnu-gcc-ar-9 0 x86_64-linux-gnu-gcc-nm 36 x86_64-linux-gnu-gcc-nm-9 0 x86_64-linux-gnu-gcc-ranlib 36 x86_64-linux-gnu-gcc-ranlib-9
Filter rules according to a regular expression: All lines starting with the string 'w' → DOESN'T WORK!?
awk '/^w/ {print $1}' ls_usr_bin.txt
See also
Sources
- https://www.youtube.com/watch?v=jJ02kEETw70 - Gary Exlains - Everyone needs to learn a little bit of AWK