This shows you the differences between two versions of the page.
awk [2017/01/22 18:28] |
awk [2022/04/16 12:22] (current) |
||
---|---|---|---|
Line 1: | Line 1: | ||
+ | @tag : [[Shell]] [[Sed]] [[Script]] [[ruby]] | ||
+ | |||
+ | * http://www.gnu.org/manual/gawk/html_node/index.html | ||
+ | |||
+ | |||
+ | awk '{ print "../" $0 }' < filelist.txt | ||
+ | |||
+ | |||
+ | Variables : | ||
+ | |||
+ | uname -a | awk -v h=$HOSTNAME '{ print h ":" $0 }' | ||
+ | |||
+ | dpkg-query -Wf '${Installed-Size}\t${Package}\n' | sort -n | awk '{ SUM += $1} END { print SUM/1024/1024 }' | ||
+ | |||
+ | |||
+ | Arrays: | ||
+ | |||
+ | history | awk '{a[$2]++ } END { for(i in a){print a[i] " " i}}' | sort -rn | head | ||
+ | |||
+ | |||
+ | filter : | ||
+ | |||
+ | cat "$1" \ | ||
+ | | awk -v t=0 't==1 { print $0 } '"/${from}/"'{print $0; t=1} ' \ | ||
+ | | awk -v t=0 "/${to}/{t=1}"'t==0 { print $0 }' \ | ||
+ | > "$1.tmp" | ||
+ | |||
+ | |||
+ | |||
+ | ==== regex ==== | ||
+ | |||
+ | <code> | ||
+ | echo -e '{\n{\n}\n}' | awk -v l=O ' '"/{/"'{++l; print $0 l; } '"/}/"'{ --l; print $0 l; } ' | ||
+ | echo -e '{\n{\n}\n}' | awk -v l=3 '{for (i = 0 ; i <= l ; i++) printf ","; printf ".\n" ; }' | ||
+ | echo -e '{\n{\n}\n}' | awk -v l=0 '{for (i = 0 ; i < l ; i++) printf "\t"; } '"/{/"'{++l; print $0 l; } '"/}/"'{ --l; print $0 l; } ' | ||
+ | |||
+ | echo -e '{ one\n{ two\n} two\n} one' | awk -v l=0 ' '"/{/"'{++l; } {for (i = 0 ; i < l ; i++) printf "\t"; } { print $0 " #" l; } '"/}/"'{ --l; } ' | ||
+ | |||
+ | |||
+ | ==== RUBY ==== | ||
+ | |||
+ | * http://tomayko.com/writings/awkward-ruby | ||
+ | |||
+ | # thx fb pok: | ||
+ | |||
+ | #!/usr/bin/env ruby │+ | ||
+ | # Usage: cat source.txt | ./sploup_pipe.rb │+ | ||
+ | lev = -1; STDIN.each do |line| │+_ | ||
+ | puts "\t" * ((open = line =~ /^\{/) ? (lev + 1) : (lev)) + line │+ | ||
+ | [ lev = lev.method(open ? :+ : :-).call 1 │+ | ||
+ | : end | ||
+ | |||
+ | lev = -1; $<.each{|line| puts "\t" * ((open = line =~ /^\{/) ? (lev + 1) : (lev)) + line; lev = lev.method(open ? :+ : :-).call 1} | ||
+ | |||
+ | </code> | ||
+ | |||
+ | |||
+ | ===== MORE ===== | ||
+ | |||
+ | * https://ia802309.us.archive.org/25/items/pdfy-MgN0H1joIoDVoIC7/The_AWK_Programming_Language.pdf# EBooK | ||
+ | * https://github.com/thewhitetulip/awk-anti-textbook/blob/master/manuscript/0.0firststeps.md# LearN | ||
+ | |||