Linux vmi2545633.contaboserver.net 6.1.0-32-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.129-1 (2025-03-06) x86_64
Apache/2.4.62 (Debian)
Server IP : 127.0.0.1 & Your IP : 127.0.0.1
Domains :
Cant Read [ /etc/named.conf ]
User : www-data
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
usr /
share /
doc /
gawk /
examples /
prog /
Delete
Unzip
Name
Size
Permission
Date
Action
alarm.awk
2.31
KB
-rw-r--r--
2022-11-17 16:36
anagram.awk
1.33
KB
-rw-r--r--
2022-11-17 16:36
awksed.awk
515
B
-rw-r--r--
2022-11-17 16:36
cut.awk
3.61
KB
-rw-r--r--
2022-11-17 16:36
dupword.awk
507
B
-rw-r--r--
2022-11-17 16:36
egrep.awk
2.4
KB
-rw-r--r--
2022-11-17 16:36
extract.awk
1.84
KB
-rw-r--r--
2022-11-17 16:36
guide.awk
165
B
-rw-r--r--
2022-11-17 16:36
histsort.awk
283
B
-rw-r--r--
2022-11-17 16:36
id.awk
4.24
KB
-rw-r--r--
2022-11-17 16:36
igawk.sh
3.11
KB
-rw-r--r--
2022-11-17 16:36
indirectcall.awk
1.91
KB
-rw-r--r--
2022-11-17 16:36
labels.awk
1014
B
-rw-r--r--
2022-11-17 16:36
pi.awk
341
B
-rw-r--r--
2022-11-17 16:36
split.awk
3.25
KB
-rw-r--r--
2022-11-17 16:36
tee.awk
770
B
-rw-r--r--
2022-11-17 16:36
testbits.awk
736
B
-rw-r--r--
2022-11-17 16:36
translate.awk
1.15
KB
-rw-r--r--
2022-11-17 16:36
uniq.awk
2.9
KB
-rw-r--r--
2022-11-17 16:36
wc.awk
1.79
KB
-rw-r--r--
2022-11-17 16:36
wordfreq.awk
347
B
-rw-r--r--
2022-11-17 16:36
Save
Rename
# uniq.awk --- do uniq in awk # # Requires getopt() and join() library functions # # Arnold Robbins, arnold@skeeve.com, Public Domain # May 1993 # Updated August 2020 to current POSIX function usage() { print("Usage: uniq [-udc [-f fields] [-s chars]] " \ "[ in [ out ]]") > "/dev/stderr" exit 1 } # -c count lines. overrides -d and -u # -d only repeated lines # -u only nonrepeated lines # -f n skip n fields # -s n skip n characters, skip fields first # As of 2020, '+' can be used as the option character in addition to '-' # Previously allowed use of -N to skip fields and +N to skip # characters is no longer allowed, and not supported by this version. BEGIN { # Convert + to - so getopt can handle things for (i = 1; i < ARGC; i++) { first = substr(ARGV[i], 1, 1) if (ARGV[i] == "--" || (first != "-" && first != "+")) break else if (first == "+") # Replace "+" with "-" ARGV[i] = "-" substr(ARGV[i], 2) } } BEGIN { count = 1 outputfile = "/dev/stdout" opts = "udcf:s:" while ((c = getopt(ARGC, ARGV, opts)) != -1) { if (c == "u") non_repeated_only++ else if (c == "d") repeated_only++ else if (c == "c") do_count++ else if (c == "f") fcount = Optarg + 0 else if (c == "s") charcount = Optarg + 0 else usage() } for (i = 1; i < Optind; i++) ARGV[i] = "" if (repeated_only == 0 && non_repeated_only == 0) repeated_only = non_repeated_only = 1 if (ARGC - Optind == 2) { outputfile = ARGV[ARGC - 1] ARGV[ARGC - 1] = "" } } function are_equal( n, m, clast, cline, alast, aline) { if (fcount == 0 && charcount == 0) return (last == $0) if (fcount > 0) { n = split(last, alast) m = split($0, aline) clast = join(alast, fcount+1, n) cline = join(aline, fcount+1, m) } else { clast = last cline = $0 } if (charcount) { clast = substr(clast, charcount + 1) cline = substr(cline, charcount + 1) } return (clast == cline) } NR == 1 { last = $0 next } { equal = are_equal() if (do_count) { # overrides -d and -u if (equal) count++ else { printf("%4d %s\n", count, last) > outputfile last = $0 count = 1 # reset } next } if (equal) count++ else { if ((repeated_only && count > 1) || (non_repeated_only && count == 1)) print last > outputfile last = $0 count = 1 } } END { if (do_count) printf("%4d %s\n", count, last) > outputfile else if ((repeated_only && count > 1) || (non_repeated_only && count == 1)) print last > outputfile close(outputfile) }