provision.awk
1.2 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
###
# Modifying Yii2's files for Vagrant VM
#
# @author HA3IK <golubha3ik@gmail.com>
# @version 1.0.0
BEGIN {
print "AWK BEGINs its work:"
IGNORECASE = 1
# Correct IP - wildcard last octet
match(ip, /(([0-9]+\.)+)/, arr)
ip = arr[1] "*"
}
# BODY
{
# Check if it's the same file
if (FILENAME != isFile["same"]){
msg = "- Work with: " FILENAME
# Close a previous file
close(isFile["same"])
# Delete previous data
delete isFile
# Save current file
isFile["same"] = FILENAME
# Define array index for the file
switch (FILENAME){
case /config\/web\.php$/:
isFile["IsConfWeb"] = 1
msg = msg " - add allowed IP: " ip
break
}
# Print the concatenated message for the file
print msg
}
# IF config/web.php
if (isFile["IsConfWeb"]){
# IF line has "allowedIPs" and doesn't has our IP
if (match($0, "allowedIPs") && !match($0, ip)){
match($0, /([^\]]+)(.+)/, arr)
$0 = sprintf("%s, '%s'%s", arr[1], ip, arr[2])
}
# Rewrite the file
print $0 > FILENAME
}
}
END {
print "AWK ENDs its work."
}