forked from learnbyexample/learn_gnuawk
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathRecord_separators.sh
More file actions
76 lines (38 loc) · 1.88 KB
/
Record_separators.sh
File metadata and controls
76 lines (38 loc) · 1.88 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
printf 'this,is\na,sample' | awk -v RS=, '{print NR ")", $0}'
s=' a\t\tb:1000\n\n\n\n123 7777:x y \n \n z '
printf '%b' "$s" | awk -v RS=: -v OFS=, '{$1=$1} 1'
cat report.log
awk -v RS='Error:' '/something/' report.log
printf 'foo\0bar\0' | awk -v RS='\0' -v ORS='.\n' '1'
cat msg.txt
awk -v RS='-\n' -v ORS= '1' msg.txt
seq 6 | awk '{ORS = NR%3 ? "-" : "\n"} 1'
printf '1\n2' | awk '1; END{print 3}'
printf 'Sample123string42with777numbers' | awk -v RS='[0-9]+' '/i/ && /t/'
printf 'load;err_msg--ant,r2..not' | awk -v RS='\\W+' '/an/'
echo '123string42with777' | awk -v RS='[0-9]+' '{print NR ") [" $0 "]"}'
printf '123string42with777' | awk -v FS='[0-9]+' '{print NF}'
printf '123string42with777' | awk -v RS='[0-9]+' 'END{print NR}'
echo 'Sample123string42with777numbers' | awk -v RS='[0-9]+' '{print NR, RT}'
cat programming_quotes.txt
awk -v RS= -v ORS='\n\n' '/you/' programming_quotes.txt
awk -v RS= '/you/{print c++ ? "\n" $0 : $0}' programming_quotes.txt
s='\n\n\na\nb\n\n12\n34\n\nhi\nhello\n'
printf '%b' "$s" | awk -v RS= -v ORS='\n---\n' 'NR<=2'
printf '%b' "$s" | awk -v RS='\n\n+' -v ORS='\n---\n' 'NR<=2'
s='\n\n\na\nb\n\n12\n34\n\nhi\nhello\n'
printf '%b' "$s" | awk -v RS= -v ORS='\n---\n' 'END{print}'
printf '%b' "$s" | awk -v RS='\n\n+' -v ORS='\n---\n' 'END{print}'
s='a:b\nc:d\n\n1\n2\n3'
printf '%b' "$s" | awk -F: -v RS= -v ORS='\n---\n' '{$1=$1} 1'
printf '%b' "$s" | awk -F':+' -v RS= -v ORS='\n---\n' '{$1=$1} 1'
printf '%b' "$s" | awk -F: -v RS='\n\n+' -v ORS='\n---\n' '{$1=$1} 1'
seq 5 | awk 'NR<=2'
awk 'END{print}' table.txt
awk 'NR==2{$1="green"} 1' table.txt
awk -v OFS='\t' 'BEGIN{print "NR", "FNR", "Content"}
awk 'FNR==1' report.log table.txt
seq 3542 4623452 | awk 'NR==2452{print; exit}'
seq 3542 4623452 | awk 'NR==250; NR==2452{print; exit}'
time seq 3542 4623452 | awk 'NR==2452{print; exit}' > f1
time seq 3542 4623452 | awk 'NR==2452' > f2