awk

syntax

FR & FNR

[!NOTE|label:references:]

FILENAME

[!NOTE|label:references:]

output

[!NOTE]

[!TIP|label:original content]

  • or

  • or

[!NOTE|label:references:]

reverse words

[!NOTE]

align

[!NOTE]

merge every 2 lines

[!NOTE|label:references:]

right/left alignment

alignment with fixed column

append space

[!NOTE]

  • and more

convert csv format

unique

removal

remove non-duplicated lines

pre-condition

combination

[!NOTE|label:references:]

[!NOTE] objective: git status + git diff --stat

show matched values

  • find distrib name from /etc/lsb-release

  • return true or false according to matches result

split

  • split with result

[!NOTE|label:real situation]

  • original string

  • filter via :

last n columns

last 2 columns

second-to-last column ( --NF )

trim

[!NOTE|label:references:]

calculate

length

longest line

[!NOTE] Longest line in a file

longest filename

  • or using while

sum

[!NOTE|label:references:]

base on other column

[!NOTE]

sum $4 base on $2 and print original

sum before date

[!TIP|label:substr]

sum $3 base on $1,$2

sum $2 base on $1

sum lines by extension

summary mem for all users (ps aux)

  • or

summary all in nth column

sum since nth line

sum for each column

[!NOTE|label:references:]

calculate word count in a file

  • or

  • or

maximize & minimize

field

multiple delimiters

[!NOTE]

  • -F"[..]"

  • -F"(..)"

    [!TIP] the \ should be \\\ in "(..)"

    • simprude solution

  • -F'..'

  • BEGIN{ FS=".." }

field separator variable

FS/OFS

parser

csv

[!NOTE|label:references:]

cheatsheet

[!NOTE|label:references:]

  • sample code

[!NOTE|label:references:]

Last updated

Was this helpful?