Initial data commit
This commit is contained in:
parent
72d218235f
commit
f23f22d71c
199087 changed files with 3378941 additions and 0 deletions
37
Task/Empty-directory/AWK/empty-directory.awk
Normal file
37
Task/Empty-directory/AWK/empty-directory.awk
Normal file
|
|
@ -0,0 +1,37 @@
|
|||
# syntax: GAWK -f EMPTY_DIRECTORY.AWK
|
||||
BEGIN {
|
||||
n = split("C:\\TEMP3,C:\\NOTHERE,C:\\AWK\\FILENAME,C:\\WINDOWS",arr,",")
|
||||
for (i=1; i<=n; i++) {
|
||||
printf("'%s' %s\n",arr[i],is_dir(arr[i]))
|
||||
}
|
||||
exit(0)
|
||||
}
|
||||
function is_dir(path, cmd,dots,entries,msg,rec,valid_dir) {
|
||||
cmd = sprintf("DIR %s 2>NUL",path) # MS-Windows
|
||||
while ((cmd | getline rec) > 0) {
|
||||
if (rec ~ /[0-9]:[0-5][0-9]/) {
|
||||
if (rec ~ / (\.|\.\.)$/) { # . or ..
|
||||
dots++
|
||||
continue
|
||||
}
|
||||
entries++
|
||||
}
|
||||
if (rec ~ / Dir\(s\) .* bytes free$/) {
|
||||
valid_dir = 1
|
||||
}
|
||||
}
|
||||
close(cmd)
|
||||
if (valid_dir == 0) {
|
||||
msg = "does not exist"
|
||||
}
|
||||
else if (valid_dir == 1 && entries == 0) {
|
||||
msg = "is an empty directory"
|
||||
}
|
||||
else if (dots == 0 && entries == 1) {
|
||||
msg = "is a file"
|
||||
}
|
||||
else {
|
||||
msg = sprintf("is a directory with %d entries",entries)
|
||||
}
|
||||
return(msg)
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue