Linux ns8.secondary29.go.th 2.6.32-754.28.1.el6.x86_64 #1 SMP Wed Mar 11 18:38:45 UTC 2020 x86_64
Apache/2.2.15 (CentOS)
: 122.154.134.11 | : 122.154.134.9
Cant Read [ /etc/named.conf ]
5.6.40
apache
www.github.com/MadExploits
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
CPANEL RESET
CREATE WP USER
README
+ Create Folder
+ Create File
/
usr /
bin /
[ HOME SHELL ]
Name
Size
Permission
Action
.fipscheck.hmac
65
B
-rw-r--r--
.ssh.hmac
65
B
-rw-r--r--
411toppm
11.26
KB
-rwxr-xr-x
5250keys
876
B
-rwxr-xr-x
GET
14.18
KB
-rwxr-xr-x
HEAD
14.18
KB
-rwxr-xr-x
Mail
381.95
KB
-rwxr-xr-x
POST
14.18
KB
-rwxr-xr-x
[
36.13
KB
-rwxr-xr-x
a2p
109.27
KB
-rwxr-xr-x
a2ping
91.65
KB
-rwxr-xr-x
ab
49.54
KB
-rwxr-xr-x
abrt-action-analyze-backtrace
21.81
KB
-rwxr-xr-x
abrt-action-analyze-c
20.66
KB
-rwxr-xr-x
abrt-action-analyze-ccpp-local
1.28
KB
-rwxr-xr-x
abrt-action-analyze-core
6.52
KB
-rwxr-xr-x
abrt-action-analyze-oops
21.26
KB
-rwxr-xr-x
abrt-action-analyze-python
19.73
KB
-rwxr-xr-x
abrt-action-generate-backtrace
21.13
KB
-rwxr-xr-x
abrt-action-generate-core-back...
19.93
KB
-rwxr-xr-x
abrt-action-install-debuginfo
7.02
KB
-rwxr-xr-x
abrt-action-list-dsos
2.69
KB
-rwxr-xr-x
abrt-action-notify
8.66
KB
-rwxr-xr-x
abrt-action-save-kernel-data
1.26
KB
-rwxr-xr-x
abrt-action-save-package-data
29.41
KB
-rwxr-xr-x
abrt-action-trim-files
24.56
KB
-rwxr-xr-x
abrt-cli
31.16
KB
-rwxr-xr-x
abrt-cli-root
8.67
KB
-rwxr-xr-x
abrt-dedup-client
36.2
KB
-rwxr-xr-x
abrt-dump-oops
28.66
KB
-rwxr-xr-x
abrt-handle-upload
8.79
KB
-rwxr-xr-x
ac
24.23
KB
-rwxr-xr-x
aclocal
30.45
KB
-rwxr-xr-x
aclocal-1.11
30.45
KB
-rwxr-xr-x
aconnect
22.37
KB
-rwxr-xr-x
acpi_listen
14.63
KB
-rwxr-xr-x
addftinfo
25.52
KB
-rwxr-xr-x
addr2line
29.16
KB
-rwxr-xr-x
afs5log
76.61
KB
-rwxr-xr-x
aleph
458.53
KB
-rwxr-xr-x
allcm
3.3
KB
-rwxr-xr-x
allec
3.3
KB
-rwxr-xr-x
allneeded
903
B
-rwxr-xr-x
alsa-info
27.22
KB
-rwxr-xr-x
alsa-info.sh
27.22
KB
-rwxr-xr-x
alsaloop
1.49
MB
-rwxr-xr-x
alsamixer
74.68
KB
-rwxr-xr-x
amidi
22.94
KB
-rwxr-xr-x
amixer
54.85
KB
-rwxr-xr-x
amstex
650.74
KB
-rwxr-xr-x
anytopnm
11.11
KB
-rwxr-xr-x
aplay
76.96
KB
-rwxr-xr-x
aplaymidi
25.51
KB
-rwxr-xr-x
apropos
1.74
KB
-rwxr-xr-x
ar
59.55
KB
-rwxr-xr-x
arecord
76.96
KB
-rwxr-xr-x
arecordmidi
28.36
KB
-rwxr-xr-x
as
529.23
KB
-rwxr-xr-x
asciitopgm
10.2
KB
-rwxr-xr-x
aseqdump
20.84
KB
-rwxr-xr-x
aseqnet
21.88
KB
-rwxr-xr-x
aserver
32.12
KB
-rwxr-xr-x
assistant-qt4
947.75
KB
-rwxr-xr-x
assistant_adp
603.22
KB
-rwxr-xr-x
at
53.19
KB
-rwsr-xr-x
atktopbm
11.36
KB
-rwxr-xr-x
atq
53.19
KB
-rwsr-xr-x
atrm
53.19
KB
-rwsr-xr-x
attr
13.52
KB
-rwxr-xr-x
aulast
18.31
KB
-rwxr-xr-x
aulastlog
12.88
KB
-rwxr-xr-x
ausyscall
11.02
KB
-rwxr-xr-x
autoconf
14.29
KB
-rwxr-xr-x
autoheader
8.29
KB
-rwxr-xr-x
autom4te
31.04
KB
-rwxr-xr-x
automake
251.04
KB
-rwxr-xr-x
automake-1.11
251.04
KB
-rwxr-xr-x
autopoint
18.32
KB
-rwxr-xr-x
autoreconf
19.76
KB
-rwxr-xr-x
autoscan
16.67
KB
-rwxr-xr-x
autoupdate
32.97
KB
-rwxr-xr-x
auvirt
34.01
KB
-rwxr-xr-x
awk
373.78
KB
-rwxr-xr-x
b2m
10.87
KB
-rwxr-xr-x
b43-fwcutter
26.95
KB
-rwxr-xr-x
base64
32.08
KB
-rwxr-xr-x
bashbug-64
6.77
KB
-rwxr-xr-x
batch
137
B
-rwxr-xr-x
bc
85.78
KB
-rwxr-xr-x
bdftopcf
10.91
KB
-rwxr-xr-x
bdftops
292
B
-rwxr-xr-x
berkeley_db_svc
74.05
KB
-rwxr-xr-x
bibtex
100.58
KB
-rwxr-xr-x
bibtex8
126.81
KB
-rwxr-xr-x
bioradtopgm
10.41
KB
-rwxr-xr-x
bison
296.2
KB
-rwxr-xr-x
blkiomon
24.82
KB
-rwxr-xr-x
blkparse
46.11
KB
-rwxr-xr-x
blkrawverify
15.17
KB
-rwxr-xr-x
blktrace
38.83
KB
-rwxr-xr-x
bmp2tiff
17.5
KB
-rwxr-xr-x
bmptopnm
22.91
KB
-rwxr-xr-x
bmptoppm
22.91
KB
-rwxr-xr-x
bno_plot.py
3.38
KB
-rwxr-xr-x
brushtopbm
9.32
KB
-rwxr-xr-x
btrace
891
B
-rwxr-xr-x
btrecord
16.55
KB
-rwxr-xr-x
btreplay
26.84
KB
-rwxr-xr-x
btt
72.35
KB
-rwxr-xr-x
build-classpath
1.5
KB
-rwxr-xr-x
build-classpath-directory
383
B
-rwxr-xr-x
build-jar-repository
1.54
KB
-rwxr-xr-x
bunzip2
35.48
KB
-rwxr-xr-x
byacc
76.46
KB
-rwxr-xr-x
bzcat
35.48
KB
-rwxr-xr-x
bzcmp
2.08
KB
-rwxr-xr-x
bzdiff
2.08
KB
-rwxr-xr-x
bzgrep
1.64
KB
-rwxr-xr-x
bzip2
35.48
KB
-rwxr-xr-x
bzip2recover
13.14
KB
-rwxr-xr-x
bzless
1.23
KB
-rwxr-xr-x
bzmore
1.23
KB
-rwxr-xr-x
c++
264.98
KB
-rwxr-xr-x
c++filt
28.54
KB
-rwxr-xr-x
c2ph
35.74
KB
-rwxr-xr-x
c89
224
B
-rwxr-xr-x
c99
215
B
-rwxr-xr-x
ca-legacy
1.61
KB
-rwxr-xr-x
cal
21.09
KB
-rwxr-xr-x
callgrind_annotate
39.92
KB
-rwxr-xr-x
callgrind_control
11.25
KB
-rwxr-xr-x
cameratopam
110.96
KB
-rwxr-xr-x
cancel
14.33
KB
-rwxr-xr-x
cancel.cups
14.33
KB
-rwxr-xr-x
captoinfo
52.52
KB
-rwxr-xr-x
cas
17.01
KB
-rwxr-xr-x
cas-admin
9.84
KB
-rwxr-xr-x
catchsegv
3.3
KB
-rwxr-xr-x
cc
265.34
KB
-rwxr-xr-x
ccache-swig
49.04
KB
-rwxr-xr-x
certmaster-getcert
130.03
KB
-rwxr-xr-x
certutil
172.66
KB
-rwxr-xr-x
certwatch
18.33
KB
-rwxr-xr-x
cg_annotate
31.42
KB
-rwxr-xr-x
cg_diff
10.17
KB
-rwxr-xr-x
cg_merge
68.01
KB
-rwxr-xr-x
chacl
16.82
KB
-rwxr-xr-x
chage
68.83
KB
-rwsr-xr-x
chainsaw
693
B
-rwxr-xr-x
chattr
13.8
KB
-rwxr-xr-x
chcon
58.28
KB
-rwxr-xr-x
check-binary-files
3.25
KB
-rwxr-xr-x
checkmodule
274.53
KB
-rwxr-xr-x
checkpolicy
282.53
KB
-rwxr-xr-x
checksctp
7.75
KB
-rwxr-xr-x
cheetah
73
B
-rwxr-xr-x
cheetah-analyze
114
B
-rwxr-xr-x
cheetah-compile
89
B
-rwxr-xr-x
chfn
19.71
KB
-rws--x--x
chrt
12.77
KB
-rwxr-xr-x
chsh
19.59
KB
-rws--x--x
chvt
9.82
KB
-rwxr-xr-x
ci
90.02
KB
-rwxr-xr-x
cifsiostat
55.98
KB
-rwxr-xr-x
cjpeg
31.84
KB
-rwxr-xr-x
ck-history
27.01
KB
-rwxr-xr-x
ck-launch-session
11.2
KB
-rwxr-xr-x
ck-list-sessions
15.39
KB
-rwxr-xr-x
cksum
28.14
KB
-rwxr-xr-x
clean-binary-files
12.91
KB
-rwxr-xr-x
clear
8.16
KB
-rwxr-xr-x
cloog
14.98
KB
-rwxr-xr-x
clusterdb
57.98
KB
-rwxr-xr-x
cmp
23.09
KB
-rwxr-xr-x
cmsutil
103.77
KB
-rwxr-xr-x
cmuwmtopbm
9.7
KB
-rwxr-xr-x
co
85.62
KB
-rwxr-xr-x
col
14.21
KB
-rwxr-xr-x
colcrt
11.04
KB
-rwxr-xr-x
colrm
8.64
KB
-rwxr-xr-x
column
13.16
KB
-rwxr-xr-x
combinediff
48.13
KB
-rwxr-xr-x
comm
31.3
KB
-rwxr-xr-x
config_data
7.07
KB
-rwxr-xr-x
consolehelper
8.67
KB
-rwxr-xr-x
corelist
6.36
KB
-rwxr-xr-x
cpan
11.56
KB
-rwxr-xr-x
cpan2dist
21.88
KB
-rwxr-xr-x
cpanp
3.32
KB
-rwxr-xr-x
cpanp-run-perl
536
B
-rwxr-xr-x
cpp
264.98
KB
-rwxr-xr-x
crash
7.07
MB
-rwxr-xr-x
create-jar-links
4.55
KB
-rwxr-xr-x
createdb
59.52
KB
-rwxr-xr-x
createlang
61.05
KB
-rwxr-xr-x
createuser
59.81
KB
-rwxr-xr-x
crlutil
115.62
KB
-rwxr-xr-x
crontab
50.57
KB
-rwsr-xr-x
cscope
327.81
KB
-rwxr-xr-x
cscope-indexer
3.77
KB
-rwxr-xr-x
cslatex
650.74
KB
-rwxr-xr-x
csplain
650.74
KB
-rwxr-xr-x
csplit
106.16
KB
-rwxr-xr-x
csslint-0.6
22.67
KB
-rwxr-xr-x
ctags
230.13
KB
-rwxr-xr-x
ctangle
43.22
KB
-rwxr-xr-x
ctie
18.92
KB
-rwxr-xr-x
cupstestdsc
14.23
KB
-rwxr-xr-x
cupstestppd
62.62
KB
-rwxr-xr-x
curl
131.35
KB
-rwxr-xr-x
cut
44.47
KB
-rwxr-xr-x
cvs
626.08
KB
-rwxr-xr-x
cvsbug
13.7
KB
-rwxr-xr-x
cweave
80.28
KB
-rwxr-xr-x
db_archive
11.8
KB
-rwxr-xr-x
db_checkpoint
13.79
KB
-rwxr-xr-x
db_codegen
25.59
KB
-rwxr-xr-x
db_deadlock
14.16
KB
-rwxr-xr-x
db_dump
15.8
KB
-rwxr-xr-x
db_dump185
63.81
KB
-rwxr-xr-x
db_hotbackup
20.88
KB
-rwxr-xr-x
db_load
26.78
KB
-rwxr-xr-x
db_printlog
69.6
KB
-rwxr-xr-x
db_recover
13.48
KB
-rwxr-xr-x
db_stat
14.5
KB
-rwxr-xr-x
db_upgrade
12.31
KB
-rwxr-xr-x
db_verify
12.9
KB
-rwxr-xr-x
dbilogstrip
1.43
KB
-rwxr-xr-x
dbiprof
6.15
KB
-rwxr-xr-x
dbiproxy
5.35
KB
-rwxr-xr-x
dbus-binding-tool
87.89
KB
-rwxr-xr-x
dc
48.65
KB
-rwxr-xr-x
ddate
13.68
KB
-rwxr-xr-x
ddbugtopbm
10.95
KB
-rwxr-xr-x
deallocvt
10.28
KB
-rwxr-xr-x
debuginfo-install
7.46
KB
-rwxr-xr-x
dehtmldiff
1.32
KB
-rwxr-xr-x
desktop-file-install
51.77
KB
-rwxr-xr-x
desktop-file-validate
43.81
KB
-rwxr-xr-x
dialog
35.69
KB
-rwxr-xr-x
diff
84.34
KB
-rwxr-xr-x
diff-jars
1.2
KB
-rwxr-xr-x
diff3
26.94
KB
-rwxr-xr-x
diffstat
34.27
KB
-rwxr-xr-x
dig
150.51
KB
-rwxr-xr-x
dir
114.3
KB
-rwxr-xr-x
dircolors
35.74
KB
-rwxr-xr-x
dirname
25.65
KB
-rwxr-xr-x
djpeg
32.17
KB
-rwxr-xr-x
dltest
10.8
KB
-rwxr-xr-x
dmp
37.08
KB
-rwxr-xr-x
doxygen
5.47
MB
-rwxr-xr-x
doxytag
285.77
KB
-rwxr-xr-x
dprofpp
23.52
KB
-rwxr-xr-x
drill
63.46
KB
-rwxr-xr-x
dropdb
55.79
KB
-rwxr-xr-x
droplang
63.36
KB
-rwxr-xr-x
dropuser
55.79
KB
-rwxr-xr-x
dstat
81.42
KB
-rwxr-xr-x
du
96.88
KB
-rwxr-xr-x
dumphint
554
B
-rwxr-xr-x
dvi2fax
1.07
KB
-rwxr-xr-x
dvipdf
1.03
KB
-rwxr-xr-x
dvips
203.13
KB
-rwxr-xr-x
dvired
3.01
KB
-rwxr-xr-x
dvitomp
38.8
KB
-rwxr-xr-x
e2pall
2.66
KB
-rwxr-xr-x
easy_install
323
B
-rwxr-xr-x
easy_install-2.6
331
B
-rwxr-xr-x
ebrowse
46.57
KB
-rwxr-xr-x
ecj
117
B
-rwxr-xr-x
editdiff
1.91
KB
-rwxr-xr-x
eject
8.67
KB
-rwxr-xr-x
elinks
1.2
MB
-rwxr-xr-x
emacs
10.51
MB
-rwxr-xr-t
emacs-23.1
10.51
MB
-rwxr-xr-t
emacsclient
24.71
KB
-rwxr-xr-x
enc2xs
38.23
KB
-rwxr-xr-x
env
25.75
KB
-rwxr-xr-x
envsubst
32.77
KB
-rwxr-xr-x
eplain
650.74
KB
-rwxr-xr-x
eps2eps
632
B
-rwxr-xr-x
epsffit
13.96
KB
-rwxr-xr-x
epstopdf
12.02
KB
-rwxr-xr-x
eqn
140.8
KB
-rwxr-xr-x
eqn2graph
2.19
KB
-rwxr-xr-x
escp2topbm
9.98
KB
-rwxr-xr-x
espdiff
1.53
KB
-rwxr-xr-x
etags
100.07
KB
-rwxr-xr-x
etags.emacs
100.07
KB
-rwxr-xr-x
etex
650.74
KB
-rwxr-xr-x
eu-addr2line
25.46
KB
-rwxr-xr-x
eu-ar
36.27
KB
-rwxr-xr-x
eu-elfcmp
33.06
KB
-rwxr-xr-x
eu-elflint
101.55
KB
-rwxr-xr-x
eu-findtextrel
19.51
KB
-rwxr-xr-x
eu-make-debug-archive
2.84
KB
-rwxr-xr-x
eu-nm
46.32
KB
-rwxr-xr-x
eu-objdump
33.37
KB
-rwxr-xr-x
eu-ranlib
20.49
KB
-rwxr-xr-x
eu-readelf
174.43
KB
-rwxr-xr-x
eu-size
18.76
KB
-rwxr-xr-x
eu-stack
29.21
KB
-rwxr-xr-x
eu-strings
19.82
KB
-rwxr-xr-x
eu-strip
50.24
KB
-rwxr-xr-x
eu-unstrip
48.64
KB
-rwxr-xr-x
execstack
180.27
KB
-rwxr-xr-x
expand
29.79
KB
-rwxr-xr-x
expr
97.88
KB
-rwxr-xr-x
extconv
8
KB
-rwxr-xr-x
eyuvtoppm
11.86
KB
-rwxr-xr-x
f95
277.73
KB
-rwxr-xr-x
factor
47.84
KB
-rwxr-xr-x
fallocate
11.33
KB
-rwxr-xr-x
fastjar
47.43
KB
-rwxr-xr-x
fax2ps
19.02
KB
-rwxr-xr-x
fax2tiff
17.92
KB
-rwxr-xr-x
fc-cache
17.02
KB
-rwxr-xr-x
fc-cat
15.1
KB
-rwxr-xr-x
fc-list
12.71
KB
-rwxr-xr-x
fc-match
13.98
KB
-rwxr-xr-x
fc-query
11.38
KB
-rwxr-xr-x
fc-scan
11.74
KB
-rwxr-xr-x
fgconsole
10.38
KB
-rwxr-xr-x
fiascotopnm
92.72
KB
-rwxr-xr-x
file
19.32
KB
-rwxr-xr-x
filterdiff
44.24
KB
-rwxr-xr-x
find
233.4
KB
-rwxr-xr-x
find-jar
749
B
-rwxr-xr-x
find-repos-of-install
4.27
KB
-rwxr-xr-x
find2perl
23.06
KB
-rwxr-xr-x
findsmb
4.5
KB
-rwxr-xr-x
fipscheck
14.57
KB
-rwxr-xr-x
fipshmac
13.9
KB
-rwxr-xr-x
fitstopnm
16.29
KB
-rwxr-xr-x
fixcvsdiff
1.83
KB
-rwxr-xr-x
flac
191.95
KB
-rwxr-xr-x
flex
329.84
KB
-rwxr-xr-x
flex++
329.84
KB
-rwxr-xr-x
flipdiff
48.13
KB
-rwxr-xr-x
flock
14.15
KB
-rwxr-xr-x
floppy
27.98
KB
-rwxr-xr-x
fmt
33.23
KB
-rwxr-xr-x
fmtutil
28.47
KB
-rwxr-xr-x
fmtutil-sys
831
B
-rwxr-xr-x
fold
30.95
KB
-rwxr-xr-x
font2c
300
B
-rwxr-xr-x
fontinst
552
B
-rwxr-xr-x
fonttosfnt
36.59
KB
-rwxr-xr-x
foomatic-combo-xml
45.17
KB
-rwxr-xr-x
foomatic-compiledb
4.52
KB
-rwxr-xr-x
foomatic-configure
133.59
KB
-rwxr-xr-x
foomatic-datafile
9.45
KB
-rwxr-xr-x
foomatic-perl-data
81.95
KB
-rwxr-xr-x
foomatic-ppd-options
3.91
KB
-rwxr-xr-x
foomatic-ppd-to-xml
8.79
KB
-rwxr-xr-x
foomatic-ppdfile
9.45
KB
-rwxr-xr-x
foomatic-printjob
34.27
KB
-rwxr-xr-x
foomatic-rip
108.56
KB
-rwxr-xr-x
foomatic-searchprinter
2.43
KB
-rwxr-xr-x
fprintd-delete
12.99
KB
-rwxr-xr-x
fprintd-enroll
12.7
KB
-rwxr-xr-x
fprintd-list
13.45
KB
-rwxr-xr-x
fprintd-verify
14.66
KB
-rwxr-xr-x
free
14.02
KB
-rwxr-xr-x
fstopgm
10.46
KB
-rwxr-xr-x
funzip
24.84
KB
-rwxr-xr-x
g++
264.98
KB
-rwxr-xr-x
g3topbm
15.47
KB
-rwxr-xr-x
gawk
373.78
KB
-rwxr-xr-x
gcc
265.34
KB
-rwxr-xr-x
gcj-dbtool
36.13
KB
-rwxr-xr-x
gconf-merge-tree
60.98
KB
-rwxr-xr-x
gconftool-2
70.29
KB
-rwxr-xr-x
gcore
1.99
KB
-rwxr-xr-x
gcov
43.09
KB
-rwxr-xr-x
gctags
101.78
KB
-rwxr-xr-x
gdb
4.3
MB
-rwxr-xr-x
gdb-add-index
1.07
KB
-rwxr-xr-x
gdbtui
4.3
MB
-rwxr-xr-x
gdbus
37.91
KB
-rwxr-xr-x
gdk-pixbuf-query-loaders-64
16.42
KB
-rwxr-xr-x
gemtopbm
12.04
KB
-rwxr-xr-x
gemtopnm
12.04
KB
-rwxr-xr-x
gencat
25.18
KB
-rwxr-xr-x
gendiff
586
B
-rwxr-xr-x
genkey
43.96
KB
-rwxr-xr-x
geqn
140.8
KB
-rwxr-xr-x
getafm
5.98
KB
-rwxr-xr-x
getcert
134.02
KB
-rwxr-xr-x
getcifsacl
10.2
KB
-rwxr-xr-x
getconf
24.93
KB
-rwxr-xr-x
getent
29.79
KB
-rwxr-xr-x
getfacl
25.63
KB
-rwxr-xr-x
getfattr
21.46
KB
-rwxr-xr-x
getkeycodes
10.54
KB
-rwxr-xr-x
getopt
15.27
KB
-rwxr-xr-x
gettext
32.7
KB
-rwxr-xr-x
gettext.sh
4.54
KB
-rwxr-xr-x
gettextize
40.92
KB
-rwxr-xr-x
gfortran
277.73
KB
-rwxr-xr-x
gftodvi
45.33
KB
-rwxr-xr-x
gftopk
26.82
KB
-rwxr-xr-x
gftype
26.74
KB
-rwxr-xr-x
ghostscript
18.68
KB
-rwxr-xr-x
gif2tiff
17.47
KB
-rwxr-xr-x
giftopnm
23.99
KB
-rwxr-xr-x
gij
9.55
KB
-rwxr-xr-x
gindxbib
31.53
KB
-rwxr-xr-x
gio-querymodules-64
14.03
KB
-rwxr-xr-x
git
1.09
MB
-rwxr-xr-x
git-receive-pack
1.09
MB
-rwxr-xr-x
git-shell
450.64
KB
-rwxr-xr-x
git-upload-archive
1.09
MB
-rwxr-xr-x
git-upload-pack
460.71
KB
-rwxr-xr-x
gjar
10.21
KB
-rwxr-xr-x
gjarsigner
10.23
KB
-rwxr-xr-x
gkeytool
10.22
KB
-rwxr-xr-x
glib-compile-schemas
42.34
KB
-rwxr-xr-x
glookbib
39.98
KB
-rwxr-xr-x
gmake
169.15
KB
-rwxr-xr-x
gneqn
255
B
-rwxr-xr-x
gnroff
2.34
KB
-rwxr-xr-x
gorbd
10.21
KB
-rwxr-xr-x
gouldtoppm
10.08
KB
-rwxr-xr-x
gpasswd
73.87
KB
-rwsr-xr-x
gpg
750.44
KB
-rwxr-xr-x
gpg-agent
298.02
KB
-rwxr-xr-x
gpg-connect-agent
175.2
KB
-rwxr-xr-x
gpg-error
21.33
KB
-rwxr-xr-x
gpg-zip
3.23
KB
-rwxr-xr-x
gpg2
750.44
KB
-rwxr-xr-x
gpgconf
132.59
KB
-rwxr-xr-x
gpgkey2ssh
39.55
KB
-rwxr-xr-x
gpgparsemail
26.02
KB
-rwxr-xr-x
gpgsplit
51.38
KB
-rwxr-xr-x
gpgv
334.27
KB
-rwxr-xr-x
gpgv2
334.27
KB
-rwxr-xr-x
gpic
216.12
KB
-rwxr-xr-x
gprof
97.09
KB
-rwxr-xr-x
grefer
125.91
KB
-rwxr-xr-x
grep-changelog
7.12
KB
-rwxr-xr-x
grepdiff
44.24
KB
-rwxr-xr-x
grepjar
88.31
KB
-rwxr-xr-x
grmic
10.21
KB
-rwxr-xr-x
grmid
10.21
KB
-rwxr-xr-x
grmiregistry
10.23
KB
-rwxr-xr-x
grn
71.27
KB
-rwxr-xr-x
grodvi
86.23
KB
-rwxr-xr-x
groff
71.95
KB
-rwxr-xr-x
groffer
7.59
KB
-rwxr-xr-x
grog
2.41
KB
-rwxr-xr-x
grolbp
93.49
KB
-rwxr-xr-x
grolj4
83.24
KB
-rwxr-xr-x
grops
121.94
KB
-rwxr-xr-x
grotty
82.23
KB
-rwxr-xr-x
groups
27.34
KB
-rwxr-xr-x
gs
18.68
KB
-rwxr-xr-x
gsbj
337
B
-rwxr-xr-x
gsdj
339
B
-rwxr-xr-x
gsdj500
342
B
-rwxr-xr-x
gserialver
10.23
KB
-rwxr-xr-x
gsftopk
36.88
KB
-rwxr-xr-x
gslj
340
B
-rwxr-xr-x
gslp
337
B
-rwxr-xr-x
gsnd
264
B
-rwxr-xr-x
gsoelim
25.58
KB
-rwxr-xr-x
gst-feedback
15.76
KB
-rwxr-xr-x
gst-feedback-0.10
3.1
KB
-rwxr-xr-x
gst-inspect
15.76
KB
-rwxr-xr-x
gst-inspect-0.10
49.73
KB
-rwxr-xr-x
gst-launch
15.76
KB
-rwxr-xr-x
gst-launch-0.10
33.39
KB
-rwxr-xr-x
gst-typefind
15.76
KB
-rwxr-xr-x
gst-typefind-0.10
18.37
KB
-rwxr-xr-x
gst-xmlinspect
15.77
KB
-rwxr-xr-x
gst-xmlinspect-0.10
27.16
KB
-rwxr-xr-x
gst-xmllaunch
15.76
KB
-rwxr-xr-x
gst-xmllaunch-0.10
33.39
KB
-rwxr-xr-x
gstack
1.1
KB
-rwxr-xr-x
gtbl
103.23
KB
-rwxr-xr-x
gtk-query-immodules-2.0-64
22.66
KB
-rwxr-xr-x
gtk-update-icon-cache
36.45
KB
-rwxr-xr-x
gtnameserv
10.23
KB
-rwxr-xr-x
gtroff
355.09
KB
-rwxr-xr-x
gunzip
61
B
-rwxr-xr-x
gzexe
5.73
KB
-rwxr-xr-x
gzip
67.09
KB
-rwxr-xr-x
h2ph
27.38
KB
-rwxr-xr-x
h2xs
58.97
KB
-rwxr-xr-x
hal-device
21.75
KB
-rwxr-xr-x
hal-disable-polling
16.43
KB
-rwxr-xr-x
hal-find-by-capability
12.21
KB
-rwxr-xr-x
hal-find-by-property
12.34
KB
-rwxr-xr-x
hal-get-property
14.42
KB
-rwxr-xr-x
hal-is-caller-locked-out
12.16
KB
-rwxr-xr-x
hal-lock
17.05
KB
-rwxr-xr-x
hal-set-property
16.27
KB
-rwxr-xr-x
halt
8.67
KB
-rwxr-xr-x
hdifftopam
10.26
KB
-rwxr-xr-x
head
35.29
KB
-rwxr-xr-x
hexdump
24.87
KB
-rwxr-xr-x
hipstopgm
10.04
KB
-rwxr-xr-x
host
133.74
KB
-rwxr-xr-x
hostid
25
KB
-rwxr-xr-x
hpcdtoppm
764
B
-rwxr-xr-x
hpftodit
24.09
KB
-rwxr-xr-x
htdbm
15.04
KB
-rwxr-xr-x
htdigest
10.98
KB
-rwxr-xr-x
htpasswd
13.66
KB
-rwxr-xr-x
huge_page_setup_helper.py
12.05
KB
-rwxr-xr-x
hugeadm
68.96
KB
-rwxr-xr-x
hugectl
16.04
KB
-rwxr-xr-x
hugeedit
11.42
KB
-rwxr-xr-x
hunspell
58.84
KB
-rwxr-xr-x
hwloc-assembler
13.23
KB
-rwxr-xr-x
hwloc-assembler-remote
2.28
KB
-rwxr-xr-x
hwloc-bind
29.23
KB
-rwxr-xr-x
hwloc-calc
34.36
KB
-rwxr-xr-x
hwloc-distances
17.3
KB
-rwxr-xr-x
hwloc-distrib
21.11
KB
-rwxr-xr-x
hwloc-gather-topology
3.87
KB
-rwxr-xr-x
hwloc-info
94.2
KB
-rwxr-xr-x
hwloc-ls
94.2
KB
-rwxr-xr-x
hwloc-ps
16.11
KB
-rwxr-xr-x
i386
13.59
KB
-rwxr-xr-x
icontopbm
10.55
KB
-rwxr-xr-x
iconv
61.55
KB
-rwxr-xr-x
id
31.95
KB
-rwxr-xr-x
ident
11.88
KB
-rwxr-xr-x
idn
35.38
KB
-rwxr-xr-x
iecset
21.05
KB
-rwxr-xr-x
ifnames
3.95
KB
-rwxr-xr-x
igawk
3.02
KB
-rwxr-xr-x
ilbmtoppm
39.33
KB
-rwxr-xr-x
imgtoppm
10.82
KB
-rwxr-xr-x
indent
75.13
KB
-rwxr-xr-x
indxbib
31.53
KB
-rwxr-xr-x
info
181.73
KB
-rwxr-xr-x
infocmp
54.41
KB
-rwxr-xr-x
infokey
25.06
KB
-rwxr-xr-x
infotocap
52.52
KB
-rwxr-xr-x
infotopam
14.23
KB
-rwxr-xr-x
innochecksum
14.46
KB
-rwxr-xr-x
install
110.7
KB
-rwxr-xr-x
install-catalog
4.27
KB
-rwxr-xr-x
instmodsh
4.15
KB
-rwxr-xr-x
interdiff
48.13
KB
-rwxr-xr-x
intltool-extract
27.32
KB
-rwxr-xr-x
intltool-merge
39
KB
-rwxr-xr-x
intltool-prepare
8.4
KB
-rwxr-xr-x
intltool-update
33.74
KB
-rwxr-xr-x
intltoolize
6.98
KB
-rwxr-xr-x
ionice
18.35
KB
-rwxr-xr-x
iostat
69.9
KB
-rwxr-xr-x
ipa-getcert
126.02
KB
-rwxr-xr-x
ipcmk
17.87
KB
-rwxr-xr-x
ipcrm
12.27
KB
-rwxr-xr-x
ipcs
22.58
KB
-rwxr-xr-x
isosize
10.55
KB
-rwxr-xr-x
isql
32.02
KB
-rwxr-xr-x
iusql
27.16
KB
-rwxr-xr-x
java
9.7
KB
-rwxr-xr-x
jbigtopnm
58.69
KB
-rwxr-xr-x
join
41.89
KB
-rwxr-xr-x
jpeg2ktopam
15.01
KB
-rwxr-xr-x
jpegtopnm
31.75
KB
-rwxr-xr-x
jpegtran
30.98
KB
-rwxr-xr-x
jv-convert
10.16
KB
-rwxr-xr-x
jvmjar
1.72
KB
-rwxr-xr-x
k5srvutil
1.87
KB
-rwxr-xr-x
kadmin
74.09
KB
-rwxr-xr-x
kbdrate
11.38
KB
-rwxr-xr-x
kdestroy
10.02
KB
-rwxr-xr-x
keyrand
12.51
KB
-rwxr-xr-x
keytool
9.82
KB
-rwxr-xr-x
keyutil
66.44
KB
-rwxr-xr-x
kill
14.88
KB
-rwxr-xr-x
killall
23.89
KB
-rwxr-xr-x
kinit
26.02
KB
-rwxr-xr-x
klist
26.02
KB
-rwxr-xr-x
koi8rxterm
3.67
KB
-rwxr-xr-x
kpasswd
10.02
KB
-rwxr-xr-x
kpseaccess
8.76
KB
-rwxr-xr-x
kpsepath
3.38
KB
-rwxr-xr-x
kpsereadlink
8.87
KB
-rwxr-xr-x
kpsestat
9.57
KB
-rwxr-xr-x
kpsetool
3.38
KB
-rwxr-xr-x
kpsewhere
1.41
KB
-rwxr-xr-x
kpsewhich
24.09
KB
-rwxr-xr-x
kpsexpand
3.38
KB
-rwxr-xr-x
kswitch
10.02
KB
-rwxr-xr-x
ktutil
22.02
KB
-rwxr-xr-x
kvno
14.02
KB
-rwxr-xr-x
lacheck
63.24
KB
-rwxr-xr-x
lambda
467.72
KB
-rwxr-xr-x
lamed
458.53
KB
-rwxr-xr-x
last
19.88
KB
-rwxr-xr-x
lastb
19.88
KB
-rwxr-xr-x
lastcomm
22.88
KB
-rwxr-xr-x
lastlog
14.02
KB
-rwxr-xr-x
latex
650.74
KB
-rwxr-xr-x
latrace
95.79
KB
-rwxr-xr-x
latrace-ctl
95.79
KB
-rwxr-xr-x
lchfn
32.63
KB
-rwxr-xr-x
lchsh
30.1
KB
-rwxr-xr-x
ld
581.21
KB
-rwxr-xr-x
ldapadd
81.48
KB
-rwxr-xr-x
ldapcompare
69.19
KB
-rwxr-xr-x
ldapdelete
73.35
KB
-rwxr-xr-x
ldapexop
70.83
KB
-rwxr-xr-x
ldapmodify
81.48
KB
-rwxr-xr-x
ldapmodrdn
70.8
KB
-rwxr-xr-x
ldappasswd
70.89
KB
-rwxr-xr-x
ldapsearch
94.31
KB
-rwxr-xr-x
ldapurl
25.02
KB
-rwxr-xr-x
ldapwhoami
69.17
KB
-rwxr-xr-x
ldd
5.2
KB
-rwxr-xr-x
ldns-chaos
12.18
KB
-rwxr-xr-x
ldns-compare-zones
14.42
KB
-rwxr-xr-x
ldns-dane
45.55
KB
-rwxr-xr-x
ldns-dpa
45.02
KB
-rwxr-xr-x
ldns-gen-zone
17.96
KB
-rwxr-xr-x
ldns-key2ds
13.14
KB
-rwxr-xr-x
ldns-keyfetcher
25.82
KB
-rwxr-xr-x
ldns-keygen
16.36
KB
-rwxr-xr-x
ldns-mx
10.63
KB
-rwxr-xr-x
ldns-notify
17.13
KB
-rwxr-xr-x
ldns-nsec3-hash
11.91
KB
-rwxr-xr-x
ldns-read-zone
16.35
KB
-rwxr-xr-x
ldns-resolver
10.08
KB
-rwxr-xr-x
ldns-revoke
11.26
KB
-rwxr-xr-x
ldns-rrsig
14.67
KB
-rwxr-xr-x
ldns-signzone
29.58
KB
-rwxr-xr-x
ldns-test-edns
13.66
KB
-rwxr-xr-x
ldns-testns
35.64
KB
-rwxr-xr-x
ldns-update
17.1
KB
-rwxr-xr-x
ldns-verify-zone
26.68
KB
-rwxr-xr-x
ldns-version
8.54
KB
-rwxr-xr-x
ldns-walk
22.44
KB
-rwxr-xr-x
ldns-zcat
12.53
KB
-rwxr-xr-x
ldns-zsplit
15.55
KB
-rwxr-xr-x
ldnsd
15.63
KB
-rwxr-xr-x
leaftoppm
11.69
KB
-rwxr-xr-x
less
150.8
KB
-rwxr-xr-x
lessecho
10.41
KB
-rwxr-xr-x
lesskey
18.4
KB
-rwxr-xr-x
lesspipe.sh
2.74
KB
-rwxr-xr-x
lex
329.84
KB
-rwxr-xr-x
libnetcfg
15.36
KB
-rwxr-xr-x
libtar
14.68
KB
-rwxr-xr-x
libtool
276.69
KB
-rwxr-xr-x
libtoolize
66.56
KB
-rwxr-xr-x
linc-cleanup-sockets
13.09
KB
-rwxr-xr-x
links
1.2
MB
-rwxr-xr-x
linux32
13.59
KB
-rwxr-xr-x
linux64
13.59
KB
-rwxr-xr-x
lispmtopgm
10.19
KB
-rwxr-xr-x
lkbib
40.11
KB
-rwxr-xr-x
loadunimap
25.52
KB
-rwxr-xr-x
local-getcert
130.02
KB
-rwxr-xr-x
locale
40.4
KB
-rwxr-xr-x
localedef
321.91
KB
-rwxr-xr-x
locate
37.56
KB
-rwx--s--x
logfactor5
593
B
-rwxr-xr-x
logger
14.7
KB
-rwxr-xr-x
logname
25.09
KB
-rwxr-xr-x
logresolve
10.94
KB
-rwxr-xr-x
look
11.46
KB
-rwxr-xr-x
lookbib
39.98
KB
-rwxr-xr-x
lp
18.38
KB
-rwxr-xr-x
lp.cups
18.38
KB
-rwxr-xr-x
lp5250d
17.86
KB
-rwxr-xr-x
lpoptions
14.36
KB
-rwxr-xr-x
lppasswd
14.38
KB
-rwxr-xr-x
lpq
14.38
KB
-rwxr-xr-x
lpq.cups
14.38
KB
-rwxr-xr-x
lpr
14.35
KB
-rwxr-xr-x
lpr.cups
14.35
KB
-rwxr-xr-x
lprm
10.21
KB
-rwxr-xr-x
lprm.cups
10.21
KB
-rwxr-xr-x
lprsetup.sh
4.55
KB
-rwxr-xr-x
lpstat
26.71
KB
-rwxr-xr-x
lpstat.cups
26.71
KB
-rwxr-xr-x
lsattr
12.77
KB
-rwxr-xr-x
lsb_release
15.56
KB
-rwxr-xr-x
lscpu
53.92
KB
-rwxr-xr-x
lsdiff
44.24
KB
-rwxr-xr-x
lshal
27.89
KB
-rwxr-xr-x
lslogins
50.78
KB
-rwxr-xr-x
lstopo
105.62
KB
-rwxr-xr-x
lstopo-no-graphics
94.2
KB
-rwxr-xr-x
lsusb
105.49
KB
-rwxr-xr-x
lsusb.py
13.09
KB
-rwxr-xr-x
ltrace
111.55
KB
-rwxr-xr-x
lua
17.45
KB
-rwxr-xr-x
luac
113.37
KB
-rwxr-xr-x
lwp-download
7.89
KB
-rwxr-xr-x
lwp-dump
2.55
KB
-rwxr-xr-x
lwp-mirror
2.33
KB
-rwxr-xr-x
lwp-request
14.18
KB
-rwxr-xr-x
lwp-rget
14.71
KB
-rwxr-xr-x
lzcat
50.63
KB
-rwxr-xr-x
lzcmp
5.1
KB
-rwxr-xr-x
lzdiff
5.1
KB
-rwxr-xr-x
lzegrep
5.36
KB
-rwxr-xr-x
lzfgrep
5.36
KB
-rwxr-xr-x
lzgrep
5.36
KB
-rwxr-xr-x
lzless
1.76
KB
-rwxr-xr-x
lzma
50.63
KB
-rwxr-xr-x
lzmadec
15.11
KB
-rwxr-xr-x
lzmainfo
12.56
KB
-rwxr-xr-x
lzmore
2.12
KB
-rwxr-xr-x
m4
207.46
KB
-rwxr-xr-x
macptopbm
9.7
KB
-rwxr-xr-x
mag
10.13
KB
-rwxr-xr-x
mailq
208.61
KB
-rwxr-xr-x
mailq.postfix
208.61
KB
-rwxr-xr-x
make
169.15
KB
-rwxr-xr-x
makeindex
83.06
KB
-rwxr-xr-x
makempx
21.23
KB
-rwxr-xr-x
mako-render
893
B
-rwxr-xr-x
man
54.8
KB
-rwxr-xr-x
man2html
60.84
KB
-rwxr-xr-x
manpath
54.8
KB
-rwxr-xr-x
manweb
12.19
KB
-rwxr-xr-x
mapscrn
20.55
KB
-rwxr-xr-x
markdown
1.24
KB
-rwxr-xr-x
mbchk
607.3
KB
-rwxr-xr-x
mc
963.14
KB
-rwxr-xr-x
mcedit
963.14
KB
-rwxr-xr-x
mcmfmt
8.4
KB
-rwxr-xr-x
mcookie
13.93
KB
-rwxr-xr-x
mcview
963.14
KB
-rwxr-xr-x
md5sum
35.27
KB
-rwxr-xr-x
mdatopbm
11.94
KB
-rwxr-xr-x
memhog
13.24
KB
-rwxr-xr-x
merge
63.04
KB
-rwxr-xr-x
mesg
9.57
KB
-rwxr-xr-x
metaflac
111.89
KB
-rwxr-xr-x
mf
270.67
KB
-rwxr-xr-x
mf-nowin
254.84
KB
-rwxr-xr-x
mft
53.45
KB
-rwxr-xr-x
mgrtopbm
10.01
KB
-rwxr-xr-x
migratepages
12.41
KB
-rwxr-xr-x
migspeed
15.16
KB
-rwxr-xr-x
mkfifo
29.09
KB
-rwxr-xr-x
mkfontdir
131
B
-rwxr-xr-x
mkfontscale
34.02
KB
-rwxr-xr-x
mkindex
947
B
-rwxr-xr-x
mkocp
171
B
-rwxr-xr-x
mkofm
83
B
-rwxr-xr-x
mktexfmt
28.47
KB
-rwxr-xr-x
mktexlsr
5.66
KB
-rwxr-xr-x
mktexmf
3.76
KB
-rwxr-xr-x
mktexpk
8.91
KB
-rwxr-xr-x
mktextfm
4.72
KB
-rwxr-xr-x
mllatex
650.74
KB
-rwxr-xr-x
mltex
650.74
KB
-rwxr-xr-x
modutil
157.41
KB
-rwxr-xr-x
mp2bug
1.24
KB
-rwxr-xr-x
mpost
365.57
KB
-rwxr-xr-x
mpstat
59.74
KB
-rwxr-xr-x
mpto
13.21
KB
-rwxr-xr-x
mrftopbm
10.52
KB
-rwxr-xr-x
ms_print
23.64
KB
-rwxr-xr-x
msgattrib
23.53
KB
-rwxr-xr-x
msgcat
23.8
KB
-rwxr-xr-x
msgcmp
17.73
KB
-rwxr-xr-x
msgcomm
22.2
KB
-rwxr-xr-x
msgconv
19.56
KB
-rwxr-xr-x
msgen
19.47
KB
-rwxr-xr-x
msgexec
16.27
KB
-rwxr-xr-x
msgfilter
25.75
KB
-rwxr-xr-x
msgfmt
67.73
KB
-rwxr-xr-x
msggrep
103.15
KB
-rwxr-xr-x
msghack
12.51
KB
-rwxr-xr-x
msginit
44.45
KB
-rwxr-xr-x
msgmerge
44.63
KB
-rwxr-xr-x
msgunfmt
31.2
KB
-rwxr-xr-x
msguniq
21.26
KB
-rwxr-xr-x
msql2mysql
1.38
KB
-rwxr-xr-x
mtvtoppm
9.73
KB
-rwxr-xr-x
musixflx
20.3
KB
-rwxr-xr-x
my_print_defaults
1.34
MB
-rwxr-xr-x
myisam_ftdump
1.59
MB
-rwxr-xr-x
myisamchk
1.7
MB
-rwxr-xr-x
myisamlog
1.59
MB
-rwxr-xr-x
myisampack
1.62
MB
-rwxr-xr-x
mysql
348.62
KB
-rwxr-xr-x
mysql_client_test
408.45
KB
-rwxr-xr-x
mysql_config
7.77
KB
-rwxr-xr-x
mysql_convert_table_format
4.15
KB
-rwxr-xr-x
mysql_find_rows
3.24
KB
-rwxr-xr-x
mysql_fix_extensions
1.23
KB
-rwxr-xr-x
mysql_fix_privilege_tables
5.7
KB
-rwxr-xr-x
mysql_install_db
14.3
KB
-rwxr-xr-x
mysql_secure_installation
8.01
KB
-rwxr-xr-x
mysql_setpermission
17.06
KB
-rwxr-xr-x
mysql_tzinfo_to_sql
1.31
MB
-rwxr-xr-x
mysql_upgrade
77.36
KB
-rwxr-xr-x
mysql_waitpid
174.54
KB
-rwxr-xr-x
mysql_zap
3.8
KB
-rwxr-xr-x
mysqlaccess
108.95
KB
-rwxr-xr-x
mysqladmin
42.6
KB
-rwxr-xr-x
mysqlbinlog
160.74
KB
-rwxr-xr-x
mysqlbug
7.77
KB
-rwxr-xr-x
mysqlcheck
39.13
KB
-rwxr-xr-x
mysqld_multi
23.92
KB
-rwxr-xr-x
mysqldump
95.73
KB
-rwxr-xr-x
mysqldumpslow
7.23
KB
-rwxr-xr-x
mysqlhotcopy
31.72
KB
-rwxr-xr-x
mysqlimport
34.39
KB
-rwxr-xr-x
mysqlshow
33.69
KB
-rwxr-xr-x
mysqlslap
52.3
KB
-rwxr-xr-x
mysqltest
194.11
KB
-rwxr-xr-x
nail
381.95
KB
-rwxr-xr-x
namei
15.99
KB
-rwxr-xr-x
nano
174.7
KB
-rwxr-xr-x
nc
25.76
KB
-rwxr-xr-x
needs-restarting
5.61
KB
-rwxr-xr-x
neotoppm
9.7
KB
-rwxr-xr-x
neqn
255
B
-rwxr-xr-x
net
8.33
MB
-rwxr-xr-x
netaddr
920
B
-rwxr-xr-x
newaliases
208.61
KB
-rwxr-xr-x
newaliases.postfix
208.61
KB
-rwxr-xr-x
newer
9.74
KB
-rwxr-xr-x
newgrp
39.3
KB
-rwsr-xr-x
nfs4_editfacl
28.38
KB
-rwxr-xr-x
nfs4_getfacl
16.55
KB
-rwxr-xr-x
nfs4_setfacl
28.38
KB
-rwxr-xr-x
ngettext
32.16
KB
-rwxr-xr-x
nl
98.3
KB
-rwxr-xr-x
nm
43.29
KB
-rwxr-xr-x
nmblookup
1.65
MB
-rwxr-xr-x
nohup
29.07
KB
-rwxr-xr-x
nosetests
299
B
-rwxr-xr-x
nproc
27.22
KB
-rwxr-xr-x
nroff
2.34
KB
-rwxr-xr-x
nsenter
22.3
KB
-rwxr-xr-x
nslookup
133.68
KB
-rwxr-xr-x
nss-policy-check
10.2
KB
-rwxr-xr-x
nsupdate
75.52
KB
-rwxr-xr-x
ntpstat
10.02
KB
-rwxr-xr-x
numactl
30.48
KB
-rwxr-xr-x
numademo
45.19
KB
-rwxr-xr-x
numastat
28
KB
-rwxr-xr-x
objcopy
213.91
KB
-rwxr-xr-x
objdump
281.38
KB
-rwxr-xr-x
ocount
157.13
KB
-rwxr-xr-x
ocs
7.1
KB
-rwxr-xr-x
od
60.72
KB
-rwxr-xr-x
odbc_config
9.98
KB
-rwxr-xr-x
odbcinst
27.28
KB
-rwxr-xr-x
oddjob_request
35.52
KB
-rwxr-xr-x
odvips
203.13
KB
-rwxr-xr-x
ofm2opl
117.45
KB
-rwxr-xr-x
oldfind
230.81
KB
-rwxr-xr-x
omega
467.72
KB
-rwxr-xr-x
omfonts
117.45
KB
-rwxr-xr-x
omshell
442.43
KB
-rwxr-xr-x
on_ac_power
1.57
KB
-rwxr-xr-x
op-check-perfevents
8.98
KB
-rwxr-xr-x
opannotate
1.22
MB
-rwxr-xr-x
oparchive
1.11
MB
-rwxr-xr-x
opcontrol
55.85
KB
-rwxr-xr-x
open
16.2
KB
-rwxr-xr-x
openssl
535.34
KB
-rwxr-xr-x
openvt
16.2
KB
-rwxr-xr-x
operf
265.8
KB
-rwxr-xr-x
opgprof
1.14
MB
-rwxr-xr-x
ophelp
65.3
KB
-rwxr-xr-x
opimport
71.67
KB
-rwxr-xr-x
opjitconv
776.27
KB
-rwxr-xr-x
opl2ofm
117.45
KB
-rwxr-xr-x
opreport
1.32
MB
-rwxr-xr-x
oprof_start
249.99
KB
-rwxr-xr-x
oprofiled
102.55
KB
-rwxr-xr-x
orbd
10
KB
-rwxr-xr-x
oscap
102.66
KB
-rwxr-xr-x
otangle
43.39
KB
-rwxr-xr-x
otfdump
31.47
KB
-rwxr-xr-x
otflist
11.98
KB
-rwxr-xr-x
otftobdf
11.78
KB
-rwxr-xr-x
otfview
70.52
KB
-rwxr-xr-x
otp2ocp
37.27
KB
-rwxr-xr-x
outocp
12.59
KB
-rwxr-xr-x
ovf2ovp
117.45
KB
-rwxr-xr-x
ovp2ovf
117.45
KB
-rwxr-xr-x
p11-kit
120.36
KB
-rwxr-xr-x
pack200
9.85
KB
-rwxr-xr-x
package-cleanup
18.16
KB
-rwxr-xr-x
pagesize
34.27
KB
-rwxr-xr-x
pal2rgb
15.1
KB
-rwxr-xr-x
palmtopnm
22.54
KB
-rwxr-xr-x
pamaddnoise
15
KB
-rwxr-xr-x
pamarith
16.05
KB
-rwxr-xr-x
pambackground
12.89
KB
-rwxr-xr-x
pambayer
10.98
KB
-rwxr-xr-x
pamchannel
10.95
KB
-rwxr-xr-x
pamcomp
17.52
KB
-rwxr-xr-x
pamcut
16.66
KB
-rwxr-xr-x
pamdeinterlace
10.09
KB
-rwxr-xr-x
pamdepth
10.6
KB
-rwxr-xr-x
pamdice
13.05
KB
-rwxr-xr-x
pamditherbw
21.15
KB
-rwxr-xr-x
pamedge
10.46
KB
-rwxr-xr-x
pamendian
8.87
KB
-rwxr-xr-x
pamenlarge
11.59
KB
-rwxr-xr-x
pamfile
11.27
KB
-rwxr-xr-x
pamfixtrunc
10.57
KB
-rwxr-xr-x
pamflip
18.86
KB
-rwxr-xr-x
pamfunc
13.11
KB
-rwxr-xr-x
pamgauss
11.16
KB
-rwxr-xr-x
pamgradient
11.14
KB
-rwxr-xr-x
pamlookup
12.38
KB
-rwxr-xr-x
pammasksharpen
11.25
KB
-rwxr-xr-x
pammixinterlace
11.98
KB
-rwxr-xr-x
pamoil
10.32
KB
-rwxr-xr-x
pamperspective
24.88
KB
-rwxr-xr-x
pampick
10.97
KB
-rwxr-xr-x
pampop9
9.86
KB
-rwxr-xr-x
pamrgbatopng
10.95
KB
-rwxr-xr-x
pamscale
27.3
KB
-rwxr-xr-x
pamseq
11.04
KB
-rwxr-xr-x
pamsharpmap
10.38
KB
-rwxr-xr-x
pamsharpness
9.7
KB
-rwxr-xr-x
pamsistoaglyph
12.36
KB
-rwxr-xr-x
pamslice
10.39
KB
-rwxr-xr-x
pamsplit
10.94
KB
-rwxr-xr-x
pamstack
11.32
KB
-rwxr-xr-x
pamstereogram
18.3
KB
-rwxr-xr-x
pamstretch
12.76
KB
-rwxr-xr-x
pamstretch-gen
2.13
KB
-rwxr-xr-x
pamsumm
10.62
KB
-rwxr-xr-x
pamsummcol
11.23
KB
-rwxr-xr-x
pamthreshold
15.34
KB
-rwxr-xr-x
pamtilt
16.16
KB
-rwxr-xr-x
pamtodjvurle
11.66
KB
-rwxr-xr-x
pamtofits
11.49
KB
-rwxr-xr-x
pamtogif
20.45
KB
-rwxr-xr-x
pamtohdiff
9.73
KB
-rwxr-xr-x
pamtohtmltbl
11.88
KB
-rwxr-xr-x
pamtojpeg2k
17.98
KB
-rwxr-xr-x
pamtompfont
10.1
KB
-rwxr-xr-x
pamtooctaveimg
11.53
KB
-rwxr-xr-x
pamtopam
9.2
KB
-rwxr-xr-x
pamtopfm
10.88
KB
-rwxr-xr-x
pamtopnm
10.14
KB
-rwxr-xr-x
pamtosvg
77.25
KB
-rwxr-xr-x
pamtotga
16.26
KB
-rwxr-xr-x
pamtotiff
32.83
KB
-rwxr-xr-x
pamtouil
13.08
KB
-rwxr-xr-x
pamtoxvmini
10.9
KB
-rwxr-xr-x
pamundice
14.63
KB
-rwxr-xr-x
pamx
37.57
KB
-rwxr-xr-x
pango-querymodules-64
18.2
KB
-rwxr-xr-x
pango-view
60.86
KB
-rwxr-xr-x
passwd
30.05
KB
-rwsr-xr-x
paste
28.45
KB
-rwxr-xr-x
patch
117.9
KB
-rwxr-xr-x
patgen
33.33
KB
-rwxr-xr-x
pathchk
27.23
KB
-rwxr-xr-x
pax
110.9
KB
-rwxr-xr-x
pbmclean
10.73
KB
-rwxr-xr-x
pbmlife
9.25
KB
-rwxr-xr-x
pbmmake
10.03
KB
-rwxr-xr-x
pbmmask
11.26
KB
-rwxr-xr-x
pbmminkowski
9.69
KB
-rwxr-xr-x
pbmpage
11.35
KB
-rwxr-xr-x
pbmpscale
11.49
KB
-rwxr-xr-x
pbmreduce
11.67
KB
-rwxr-xr-x
pbmtext
15.73
KB
-rwxr-xr-x
pbmtextps
14.95
KB
-rwxr-xr-x
pbmto10x
10.77
KB
-rwxr-xr-x
pbmto4425
9.75
KB
-rwxr-xr-x
pbmtoascii
10.34
KB
-rwxr-xr-x
pbmtoatk
10.58
KB
-rwxr-xr-x
pbmtobbnbg
9.71
KB
-rwxr-xr-x
pbmtocmuwm
9.38
KB
-rwxr-xr-x
pbmtodjvurle
10.05
KB
-rwxr-xr-x
pbmtoepsi
10.23
KB
-rwxr-xr-x
pbmtoepson
11.17
KB
-rwxr-xr-x
pbmtoescp2
10.68
KB
-rwxr-xr-x
pbmtog3
14.6
KB
-rwxr-xr-x
pbmtogem
10.66
KB
-rwxr-xr-x
pbmtogo
11.13
KB
-rwxr-xr-x
pbmtoibm23xx
11.29
KB
-rwxr-xr-x
pbmtoicon
10.13
KB
-rwxr-xr-x
pbmtolj
13.32
KB
-rwxr-xr-x
pbmtoln03
11.26
KB
-rwxr-xr-x
pbmtolps
10.62
KB
-rwxr-xr-x
pbmtomacp
10.97
KB
-rwxr-xr-x
pbmtomatrixorbital
9
KB
-rwxr-xr-x
pbmtomda
11.16
KB
-rwxr-xr-x
pbmtomgr
9.08
KB
-rwxr-xr-x
pbmtomrf
10.66
KB
-rwxr-xr-x
pbmtonokia
13.44
KB
-rwxr-xr-x
pbmtopgm
10.01
KB
-rwxr-xr-x
pbmtopi3
9.73
KB
-rwxr-xr-x
pbmtopk
21.49
KB
-rwxr-xr-x
pbmtoplot
8.88
KB
-rwxr-xr-x
pbmtoppa
28.51
KB
-rwxr-xr-x
pbmtopsg3
13.45
KB
-rwxr-xr-x
pbmtoptx
9.06
KB
-rwxr-xr-x
pbmtowbmp
9.16
KB
-rwxr-xr-x
pbmtox10bm
1.35
KB
-rwxr-xr-x
pbmtoxbm
13.47
KB
-rwxr-xr-x
pbmtoybm
9.31
KB
-rwxr-xr-x
pbmtozinc
10.57
KB
-rwxr-xr-x
pbmupc
17.69
KB
-rwxr-xr-x
pc1toppm
9.97
KB
-rwxr-xr-x
pcdovtoppm
5.43
KB
-rwxr-xr-x
pcregrep
31.66
KB
-rwxr-xr-x
pcretest
48.23
KB
-rwxr-xr-x
pcxtoppm
15.05
KB
-rwxr-xr-x
pdbedit
2.04
MB
-rwxr-xr-x
pdf2dsc
696
B
-rwxr-xr-x
pdf2ps
901
B
-rwxr-xr-x
pdfcrop
8.29
KB
-rwxr-xr-x
pdfcslatex
650.74
KB
-rwxr-xr-x
pdfcsplain
650.74
KB
-rwxr-xr-x
pdfetex
650.74
KB
-rwxr-xr-x
pdffonts
22.33
KB
-rwxr-xr-x
pdfimages
48.73
KB
-rwxr-xr-x
pdfinfo
28.02
KB
-rwxr-xr-x
pdflatex
650.74
KB
-rwxr-xr-x
pdfopt
547
B
-rwxr-xr-x
pdftex
650.74
KB
-rwxr-xr-x
pdftohtml
91.53
KB
-rwxr-xr-x
pdftoppm
23.75
KB
-rwxr-xr-x
pdftops
23.7
KB
-rwxr-xr-x
pdftosrc
14.99
KB
-rwxr-xr-x
pdftotext
25.67
KB
-rwxr-xr-x
peekfd
12.7
KB
-rwxr-xr-x
perf
2.1
MB
-rwxr-xr-x
perl
12.97
KB
-rwxr-xr-x
perl5.10.1
12.97
KB
-rwxr-xr-x
perlbug
43.68
KB
-rwxr-xr-x
perldoc
224
B
-rwxr-xr-x
perlivp
12.01
KB
-rwxr-xr-x
perltex
14.46
KB
-rwxr-xr-x
perlthanks
43.68
KB
-rwxr-xr-x
perror
1.32
MB
-rwxr-xr-x
pf2afm
495
B
-rwxr-xr-x
pfb2pfa
12.09
KB
-rwxr-xr-x
pfbtopfa
511
B
-rwxr-xr-x
pfbtops
10.05
KB
-rwxr-xr-x
pfmtopam
12.52
KB
-rwxr-xr-x
pg_dump
273.87
KB
-rwxr-xr-x
pg_dumpall
79.73
KB
-rwxr-xr-x
pg_restore
125.13
KB
-rwxr-xr-x
pgawk
374.73
KB
-rwxr-xr-x
pgmabel
14.17
KB
-rwxr-xr-x
pgmbentley
8.88
KB
-rwxr-xr-x
pgmcrater
14.16
KB
-rwxr-xr-x
pgmdeshadow
10.02
KB
-rwxr-xr-x
pgmedge
10.46
KB
-rwxr-xr-x
pgmenhance
10.03
KB
-rwxr-xr-x
pgmhist
10.02
KB
-rwxr-xr-x
pgmkernel
9.95
KB
-rwxr-xr-x
pgmmake
10.03
KB
-rwxr-xr-x
pgmmedian
13.79
KB
-rwxr-xr-x
pgmminkowski
10.55
KB
-rwxr-xr-x
pgmmorphconv
11.44
KB
-rwxr-xr-x
pgmnoise
9.73
KB
-rwxr-xr-x
pgmnorm
14.18
KB
-rwxr-xr-x
pgmoil
10.32
KB
-rwxr-xr-x
pgmramp
10.58
KB
-rwxr-xr-x
pgmslice
10.39
KB
-rwxr-xr-x
pgmtexture
24.82
KB
-rwxr-xr-x
pgmtofs
10.15
KB
-rwxr-xr-x
pgmtolispm
10.11
KB
-rwxr-xr-x
pgmtopbm
37
B
-rwxr-xr-x
pgmtopgm
8.91
KB
-rwxr-xr-x
pgmtoppm
11.15
KB
-rwxr-xr-x
pgrep
20.08
KB
-rwxr-xr-x
phar
14.48
KB
-rwxr-xr-x
phar.phar
14.48
KB
-rwxr-xr-x
php
3.88
MB
-rwxr-xr-x
php-cgi
3.86
MB
-rwxr-xr-x
phpize
4.64
KB
-rwxr-xr-x
physe
650.74
KB
-rwxr-xr-x
phyzzx
650.74
KB
-rwxr-xr-x
pi1toppm
9.7
KB
-rwxr-xr-x
pi3topbm
9.73
KB
-rwxr-xr-x
pic
216.12
KB
-rwxr-xr-x
pic2graph
2.5
KB
-rwxr-xr-x
piconv
7.17
KB
-rwxr-xr-x
pidstat
70.03
KB
-rwxr-xr-x
pinentry
2.54
KB
-rwxr-xr-x
pinentry-curses
52.58
KB
-rwxr-xr-x
pinfo
101.66
KB
-rwxr-xr-x
pinky
32.73
KB
-rwxr-xr-x
pjtoppm
12.7
KB
-rwxr-xr-x
pk12util
92.2
KB
-rwxr-xr-x
pk2bm
15.48
KB
-rwxr-xr-x
pkaction
14.02
KB
-rwxr-xr-x
pkcheck
14.02
KB
-rwxr-xr-x
pkexec
22.02
KB
-rwsr-xr-x
pkg-config
108.06
KB
-rwxr-xr-x
pkill
20.08
KB
-rwxr-xr-x
pktogf
25.36
KB
-rwxr-xr-x
pktopbm
16.7
KB
-rwxr-xr-x
pktype
18.84
KB
-rwxr-xr-x
pl2pm
4.42
KB
-rwxr-xr-x
pltotf
61.48
KB
-rwxr-xr-x
plymouth
35.95
KB
-rwxr-xr-x
pm-is-supported
983
B
-rwxr-xr-x
pm-utils-bugreport-info.sh
816
B
-rwxr-xr-x
pmap
15.91
KB
-rwxr-xr-x
png2theora
29.38
KB
-rwxr-xr-x
pngtopam
23.31
KB
-rwxr-xr-x
pngtopnm
22.4
KB
-rwxr-xr-x
pnmalias
13.29
KB
-rwxr-xr-x
pnmarith
16.05
KB
-rwxr-xr-x
pnmcat
16.55
KB
-rwxr-xr-x
pnmcolormap
16.7
KB
-rwxr-xr-x
pnmcomp
17.52
KB
-rwxr-xr-x
pnmconvol
34.2
KB
-rwxr-xr-x
pnmcrop
18.7
KB
-rwxr-xr-x
pnmcut
16.66
KB
-rwxr-xr-x
pnmdepth
10.6
KB
-rwxr-xr-x
pnmenlarge
11.59
KB
-rwxr-xr-x
pnmfile
11.27
KB
-rwxr-xr-x
pnmflip
2.43
KB
-rwxr-xr-x
pnmgamma
17.46
KB
-rwxr-xr-x
pnmhisteq
12.72
KB
-rwxr-xr-x
pnmhistmap
14.3
KB
-rwxr-xr-x
pnmindex
14.94
KB
-rwxr-xr-x
pnminterp
12.76
KB
-rwxr-xr-x
pnminvert
10.1
KB
-rwxr-xr-x
pnmmargin
2.32
KB
-rwxr-xr-x
pnmmontage
15.05
KB
-rwxr-xr-x
pnmnlfilt
22.36
KB
-rwxr-xr-x
pnmnoraw
31
B
-rwxr-xr-x
pnmnorm
14.18
KB
-rwxr-xr-x
pnmpad
17.08
KB
-rwxr-xr-x
pnmpaste
13.45
KB
-rwxr-xr-x
pnmpsnr
11.73
KB
-rwxr-xr-x
pnmquant
7.67
KB
-rwxr-xr-x
pnmremap
19.03
KB
-rwxr-xr-x
pnmrotate
16.13
KB
-rwxr-xr-x
pnmscale
27.3
KB
-rwxr-xr-x
pnmscalefixed
16.26
KB
-rwxr-xr-x
pnmshear
11.89
KB
-rwxr-xr-x
pnmsmooth
11.3
KB
-rwxr-xr-x
pnmsplit
10.94
KB
-rwxr-xr-x
pnmstitch
27.35
KB
-rwxr-xr-x
pnmtile
9.73
KB
-rwxr-xr-x
pnmtoddif
16.73
KB
-rwxr-xr-x
pnmtofiasco
157.32
KB
-rwxr-xr-x
pnmtofits
11.49
KB
-rwxr-xr-x
pnmtojbig
60.86
KB
-rwxr-xr-x
pnmtojpeg
21.91
KB
-rwxr-xr-x
pnmtopalm
23.91
KB
-rwxr-xr-x
pnmtopclxl
17.68
KB
-rwxr-xr-x
pnmtoplainpnm
31
B
-rwxr-xr-x
pnmtopng
40.81
KB
-rwxr-xr-x
pnmtopnm
10.14
KB
-rwxr-xr-x
pnmtops
27.6
KB
-rwxr-xr-x
pnmtorast
16.2
KB
-rwxr-xr-x
pnmtorle
34.88
KB
-rwxr-xr-x
pnmtosgi
13.11
KB
-rwxr-xr-x
pnmtosir
9.96
KB
-rwxr-xr-x
pnmtotiff
32.83
KB
-rwxr-xr-x
pnmtotiffcmyk
29.99
KB
-rwxr-xr-x
pnmtoxwd
12.95
KB
-rwxr-xr-x
pod2html
2.28
KB
-rwxr-xr-x
pod2latex
10.01
KB
-rwxr-xr-x
pod2man
20.68
KB
-rwxr-xr-x
pod2text
8.87
KB
-rwxr-xr-x
pod2usage
3.26
KB
-rwxr-xr-x
podchecker
3.61
KB
-rwxr-xr-x
podselect
2.47
KB
-rwxr-xr-x
pooltype
15.72
KB
-rwxr-xr-x
post-grohtml
136.2
KB
-rwxr-xr-x
poweroff
8.67
KB
-rwxr-xr-x
ppdc
14.51
KB
-rwxr-xr-x
ppdhtml
10.36
KB
-rwxr-xr-x
ppdi
10.3
KB
-rwxr-xr-x
ppdmerge
14.41
KB
-rwxr-xr-x
ppdpo
10.36
KB
-rwxr-xr-x
ppl-config
104.6
KB
-rwxr-xr-x
ppm2tiff
14.86
KB
-rwxr-xr-x
ppm3d
14.56
KB
-rwxr-xr-x
ppmbrighten
12.41
KB
-rwxr-xr-x
ppmchange
10.33
KB
-rwxr-xr-x
ppmcie
25.87
KB
-rwxr-xr-x
ppmcolormask
11.52
KB
-rwxr-xr-x
ppmcolors
8.84
KB
-rwxr-xr-x
ppmdcfont
10.39
KB
-rwxr-xr-x
ppmddumpfont
8.63
KB
-rwxr-xr-x
ppmdim
9.73
KB
-rwxr-xr-x
ppmdist
10.2
KB
-rwxr-xr-x
ppmdither
11.88
KB
-rwxr-xr-x
ppmdmkfont
13.53
KB
-rwxr-xr-x
ppmdraw
18.56
KB
-rwxr-xr-x
ppmfade
10.97
KB
-rwxr-xr-x
ppmflash
9.73
KB
-rwxr-xr-x
ppmforge
22.62
KB
-rwxr-xr-x
ppmglobe
10.16
KB
-rwxr-xr-x
ppmhist
12.13
KB
-rwxr-xr-x
ppmlabel
12.95
KB
-rwxr-xr-x
ppmmake
9.72
KB
-rwxr-xr-x
ppmmix
10.05
KB
-rwxr-xr-x
ppmnorm
14.18
KB
-rwxr-xr-x
ppmntsc
12.65
KB
-rwxr-xr-x
ppmpat
23.12
KB
-rwxr-xr-x
ppmquant
926
B
-rwxr-xr-x
ppmquantall
2.33
KB
-rwxr-xr-x
ppmrainbow
1.79
KB
-rwxr-xr-x
ppmrelief
9.72
KB
-rwxr-xr-x
ppmrough
13.77
KB
-rwxr-xr-x
ppmshadow
8.64
KB
-rwxr-xr-x
ppmshift
10.17
KB
-rwxr-xr-x
ppmspread
10.09
KB
-rwxr-xr-x
ppmtoacad
14.69
KB
-rwxr-xr-x
ppmtoarbtxt
14.73
KB
-rwxr-xr-x
ppmtobmp
18.45
KB
-rwxr-xr-x
ppmtoeyuv
14.1
KB
-rwxr-xr-x
ppmtogif
13.23
KB
-rwxr-xr-x
ppmtoicr
12.45
KB
-rwxr-xr-x
ppmtoilbm
40.15
KB
-rwxr-xr-x
ppmtojpeg
21.91
KB
-rwxr-xr-x
ppmtoleaf
13.05
KB
-rwxr-xr-x
ppmtolj
11.71
KB
-rwxr-xr-x
ppmtomap
82
B
-rwxr-xr-x
ppmtomitsu
19.99
KB
-rwxr-xr-x
ppmtompeg
508.71
KB
-rwxr-xr-x
ppmtoneo
13.06
KB
-rwxr-xr-x
ppmtopcx
17.05
KB
-rwxr-xr-x
ppmtopgm
12.62
KB
-rwxr-xr-x
ppmtopi1
10.05
KB
-rwxr-xr-x
ppmtopict
11.93
KB
-rwxr-xr-x
ppmtopj
12.01
KB
-rwxr-xr-x
ppmtopjxl
15.91
KB
-rwxr-xr-x
ppmtoppm
8.97
KB
-rwxr-xr-x
ppmtopuzz
10.09
KB
-rwxr-xr-x
ppmtorgb3
10.11
KB
-rwxr-xr-x
ppmtosixel
10.87
KB
-rwxr-xr-x
ppmtoterm
9.7
KB
-rwxr-xr-x
ppmtouil
13.08
KB
-rwxr-xr-x
ppmtowinicon
17.41
KB
-rwxr-xr-x
ppmtoxpm
14.53
KB
-rwxr-xr-x
ppmtoyuv
9.71
KB
-rwxr-xr-x
ppmtoyuvsplit
10.9
KB
-rwxr-xr-x
ppmtv
9.73
KB
-rwxr-xr-x
ppmwheel
10.43
KB
-rwxr-xr-x
pr
62.8
KB
-rwxr-xr-x
pre-grohtml
76.61
KB
-rwxr-xr-x
printafm
386
B
-rwxr-xr-x
printenv
25.66
KB
-rwxr-xr-x
printf
48.91
KB
-rwxr-xr-x
profiles
1.59
MB
-rwxr-xr-x
protoize
70.42
KB
-rwxr-xr-x
prove
9.15
KB
-rwxr-xr-x
proxy
10.72
KB
-rwxr-xr-x
ps2ascii
786
B
-rwxr-xr-x
ps2epsi
2.71
KB
-rwxr-xr-x
ps2frag
229
B
-rwxr-xr-x
ps2pdf
315
B
-rwxr-xr-x
ps2pdf12
260
B
-rwxr-xr-x
ps2pdf13
260
B
-rwxr-xr-x
ps2pdf14
260
B
-rwxr-xr-x
ps2pdfwr
1.06
KB
-rwxr-xr-x
ps2pk
135.38
KB
-rwxr-xr-x
ps2ps
634
B
-rwxr-xr-x
ps2ps2
704
B
-rwxr-xr-x
ps4pdf
4.19
KB
-rwxr-xr-x
psbook
18.52
KB
-rwxr-xr-x
psed
52.08
KB
-rwxr-xr-x
psfaddtable
20.52
KB
-rwxr-xr-x
psfgettable
20.52
KB
-rwxr-xr-x
psfstriptable
20.52
KB
-rwxr-xr-x
psfxtable
20.52
KB
-rwxr-xr-x
psidtopgm
10.18
KB
-rwxr-xr-x
pslatex
1.41
KB
-rwxr-xr-x
psnup
26.8
KB
-rwxr-xr-x
psql
334.97
KB
-rwxr-xr-x
psresize
24.37
KB
-rwxr-xr-x
psselect
19.83
KB
-rwxr-xr-x
pstack
1.1
KB
-rwxr-xr-x
pstopnm
19.6
KB
-rwxr-xr-x
pstops
25.27
KB
-rwxr-xr-x
pstree
24.66
KB
-rwxr-xr-x
pstree.x11
24.66
KB
-rwxr-xr-x
pstruct
35.74
KB
-rwxr-xr-x
ptar
2.72
KB
-rwxr-xr-x
ptardiff
2.46
KB
-rwxr-xr-x
ptx
126.56
KB
-rwxr-xr-x
pv.sh
1.39
KB
-rwxr-xr-x
pwdx
9.91
KB
-rwxr-xr-x
pydoc
78
B
-rwxr-xr-x
pygmentize
141
B
-rwxr-xr-x
python
8.82
KB
-rwxr-xr-x
python2
8.82
KB
-rwxr-xr-x
python2.6
8.82
KB
-rwxr-xr-x
qdbus
63.64
KB
-rwxr-xr-x
qdbusviewer
182.99
KB
-rwxr-xr-x
qrttoppm
9.73
KB
-rwxr-xr-x
qtconfig-qt4
342.75
KB
-rwxr-xr-x
quota
80.81
KB
-rwxr-xr-x
quotasync
64.69
KB
-rwxr-xr-x
ranlib
59.55
KB
-rwxr-xr-x
ras2tiff
14.33
KB
-rwxr-xr-x
rasttopnm
15.35
KB
-rwxr-xr-x
raw2tiff
19.59
KB
-rwxr-xr-x
rawtopgm
12.34
KB
-rwxr-xr-x
rawtoppm
11.77
KB
-rwxr-xr-x
rcs
90.95
KB
-rwxr-xr-x
rcs-checkin
3.88
KB
-rwxr-xr-x
rcs2log
19.12
KB
-rwxr-xr-x
rcsclean
85.66
KB
-rwxr-xr-x
rcsdiff
65.53
KB
-rwxr-xr-x
rcsfreeze
3.15
KB
-rwxr-xr-x
rcsmerge
65.53
KB
-rwxr-xr-x
rdate
13.24
KB
-rwxr-xr-x
rdjpgcom
12.19
KB
-rwxr-xr-x
readelf
296.33
KB
-rwxr-xr-x
readlink
39.12
KB
-rwxr-xr-x
reboot
8.67
KB
-rwxr-xr-x
rebuild-gcj-db
441
B
-rwxr-xr-x
rebuild-jar-repository
1.76
KB
-rwxr-xr-x
recode-sr-latin
15.16
KB
-rwxr-xr-x
recountdiff
3.36
KB
-rwxr-xr-x
rediff
36.25
KB
-rwxr-xr-x
refer
125.91
KB
-rwxr-xr-x
reindexdb
59.5
KB
-rwxr-xr-x
rename
9.66
KB
-rwxr-xr-x
renice
10.38
KB
-rwxr-xr-x
replace
1.32
MB
-rwxr-xr-x
repo-graph
4.1
KB
-rwxr-xr-x
repo-rss
9.99
KB
-rwxr-xr-x
repoclosure
11.35
KB
-rwxr-xr-x
repodiff
11.63
KB
-rwxr-xr-x
repomanage
6.88
KB
-rwxr-xr-x
repoquery
45.03
KB
-rwxr-xr-x
report
19.87
KB
-rwxr-xr-x
report-cli
39.41
KB
-rwxr-xr-x
reporter-kerneloops
28.23
KB
-rwxr-xr-x
reporter-mailx
23.69
KB
-rwxr-xr-x
reporter-print
22.07
KB
-rwxr-xr-x
reporter-rhtsupport
55.41
KB
-rwxr-xr-x
reporter-upload
29.73
KB
-rwxr-xr-x
reporter-ureport
34.34
KB
-rwxr-xr-x
reposync
14.74
KB
-rwxr-xr-x
repotrack
8.54
KB
-rwxr-xr-x
reset
21.91
KB
-rwxr-xr-x
resize
17.88
KB
-rwxr-xr-x
resizecons
19.06
KB
-rwxr-xr-x
resolve_stack_dump
1.32
MB
-rwxr-xr-x
resolveip
1.32
MB
-rwxr-xr-x
rev
9.93
KB
-rwxr-xr-x
rgb2ycbcr
15.7
KB
-rwxr-xr-x
rgb3toppm
9.72
KB
-rwxr-xr-x
rhgb-client
35.95
KB
-rwxr-xr-x
rlatopam
13.01
KB
-rwxr-xr-x
rletopnm
31.41
KB
-rwxr-xr-x
rlog
70.2
KB
-rwxr-xr-x
rmail
262
B
-rwxr-xr-x
rmail.postfix
262
B
-rwxr-xr-x
rmid
9.81
KB
-rwxr-xr-x
rmiregistry
9.82
KB
-rwxr-xr-x
rnano
174.7
KB
-rwxr-xr-x
rngtest
16.45
KB
-rwxr-xr-x
rpcclient
7.41
MB
-rwxr-xr-x
rpcgen
93.46
KB
-rwxr-xr-x
rpm2cpio
15.73
KB
-rwxr-xr-x
rpmbuild
34.41
KB
-rwxr-xr-x
rpmdb
29.98
KB
-rwxr-xr-x
rpmquery
29.98
KB
-rwxr-xr-x
rpmsign
29.98
KB
-rwxr-xr-x
rpmverify
29.98
KB
-rwxr-xr-x
rsvg
2.44
KB
-rwxr-xr-x
rsvg-convert
27.82
KB
-rwxr-xr-x
rsvg-view
42.67
KB
-rwxr-xr-x
rsync
405.24
KB
-rwxr-xr-x
rubibtex
2.52
KB
-rwxr-xr-x
rumakeindex
1.75
KB
-rwxr-xr-x
run-parts
1.38
KB
-rwxr-xr-x
runcon
31.16
KB
-rwxr-xr-x
rvim
2.22
MB
-rwxr-xr-x
s2p
52.08
KB
-rwxr-xr-x
sadf
111.99
KB
-rwxr-xr-x
sar
82.96
KB
-rwxr-xr-x
satyr
22.85
KB
-rwxr-xr-x
sbigtopgm
11.43
KB
-rwxr-xr-x
scl
21.48
KB
-rwxr-xr-x
scl_enabled
258
B
-rwxr-xr-x
scl_source
1.83
KB
-rwxr-xr-x
scp
66.06
KB
-rwxr-xr-x
script
16.24
KB
-rwxr-xr-x
scriptreplay
10.91
KB
-rwxr-xr-x
scs2ascii
13.52
KB
-rwxr-xr-x
scs2pdf
26.78
KB
-rwxr-xr-x
scs2ps
15.09
KB
-rwxr-xr-x
sctp_darn
42.79
KB
-rwxr-xr-x
sctp_status
22.45
KB
-rwxr-xr-x
sctp_test
31.59
KB
-rwxr-xr-x
sdiff
28.32
KB
-rwxr-xr-x
secon
18.39
KB
-rwxr-xr-x
sedismod
169.45
KB
-rwxr-xr-x
sedispol
142.02
KB
-rwxr-xr-x
seekwatcher
32.28
KB
-rwxr-xr-x
selfsign-getcert
130.03
KB
-rwxr-xr-x
semodule_deps
194.95
KB
-rwxr-xr-x
semodule_expand
10.34
KB
-rwxr-xr-x
semodule_link
10.27
KB
-rwxr-xr-x
semodule_package
14.59
KB
-rwxr-xr-x
seq
42.91
KB
-rwxr-xr-x
servertool
9.84
KB
-rwxr-xr-x
setarch
13.59
KB
-rwxr-xr-x
setcifsacl
18.29
KB
-rwxr-xr-x
setfacl
36.15
KB
-rwxr-xr-x
setfattr
18.02
KB
-rwxr-xr-x
setkeycodes
10.23
KB
-rwxr-xr-x
setleds
11.98
KB
-rwxr-xr-x
setmetamode
9.74
KB
-rwxr-xr-x
setsid
8.59
KB
-rwxr-xr-x
setterm
25.1
KB
-rwxr-xr-x
setup
8.67
KB
-rwxr-xr-x
setup-nsssysinit.sh
1.5
KB
-rwxr-xr-x
sftp
102.07
KB
-rwxr-xr-x
sg
39.3
KB
-rwsr-xr-x
sgitopnm
14.65
KB
-rwxr-xr-x
sgmlwhich
265
B
-rwxr-xr-x
sha1sum
38.98
KB
-rwxr-xr-x
sha224sum
44.7
KB
-rwxr-xr-x
sha256sum
44.7
KB
-rwxr-xr-x
sha384sum
49.91
KB
-rwxr-xr-x
sha512sum
49.91
KB
-rwxr-xr-x
sharesec
1.57
MB
-rwxr-xr-x
shasum
7.48
KB
-rwxr-xr-x
show-changed-rco
10.11
KB
-rwxr-xr-x
show-installed
16.18
KB
-rwxr-xr-x
showchar
2.51
KB
-rwxr-xr-x
showconsolefont
17.26
KB
-rwxr-xr-x
showkey
13.78
KB
-rwxr-xr-x
shred
50.23
KB
-rwxr-xr-x
shuf
38.03
KB
-rwxr-xr-x
signtool
168.09
KB
-rwxr-xr-x
signver
91.64
KB
-rwxr-xr-x
sinjdoc
132
B
-rw-r-xr-x
sirtopnm
10.22
KB
-rwxr-xr-x
size
32.95
KB
-rwxr-xr-x
skill
18.31
KB
-rwxr-xr-x
slabtop
17.16
KB
-rwxr-xr-x
sldtoppm
17.45
KB
-rwxr-xr-x
slogin
440.16
KB
-rwxr-xr-x
smbcacls
6.1
MB
-rwxr-xr-x
smbclient
6.14
MB
-rwxr-xr-x
smbcontrol
1.6
MB
-rwxr-xr-x
smbcquotas
6.09
MB
-rwxr-xr-x
smbget
6.33
MB
-rwxr-xr-x
smbpasswd
6.12
MB
-rwxr-xr-x
smbprint
2.24
KB
-rwxr-xr-x
smbspool
3.31
MB
-rwxr-xr-x
smbta-util
1.56
MB
-rwxr-xr-x
smbtar
4.78
KB
-rwxr-xr-x
smbtree
6.03
MB
-rwxr-xr-x
sndfile-cmp
10.42
KB
-rwxr-xr-x
sndfile-convert
18.83
KB
-rwxr-xr-x
sndfile-info
14.2
KB
-rwxr-xr-x
sndfile-metadata-get
12.62
KB
-rwxr-xr-x
sndfile-metadata-set
18.17
KB
-rwxr-xr-x
sndfile-play
17.83
KB
-rwxr-xr-x
sndfile-regtest
19.54
KB
-rwxr-xr-x
snice
18.31
KB
-rwxr-xr-x
soelim
25.58
KB
-rwxr-xr-x
spctoppm
10.02
KB
-rwxr-xr-x
speaker-test
34.23
KB
-rwxr-xr-x
splain
17.04
KB
-rwxr-xr-x
split
54.06
KB
-rwxr-xr-x
splitdiff
2.96
KB
-rwxr-xr-x
spottopgm
10.99
KB
-rwxr-xr-x
sprof
26.2
KB
-rwxr-xr-x
sputoppm
9.19
KB
-rwxr-xr-x
sqlite3
58
KB
-rwxr-xr-x
ssh
440.16
KB
-rwxr-xr-x
ssh-add
155.2
KB
-rwxr-xr-x
ssh-agent
138.07
KB
-rwxr-sr-x
ssh-copy-id
1.39
KB
-rwxr-xr-x
ssh-keygen
195.2
KB
-rwxr-xr-x
ssh-keyscan
247.8
KB
-rwxr-xr-x
ssltap
115.44
KB
-rwxr-xr-x
sss_ssh_authorizedkeys
33.24
KB
-rwxr-xr-x
sss_ssh_knownhostsproxy
35.95
KB
-rwxr-xr-x
stap
2.92
MB
-rwxr-xr-x
stap-merge
10.02
KB
-rwxr-xr-x
stap-prep
3.79
KB
-rwxr-xr-x
stap-report
4.41
KB
-rwxr-xr-x
staprun
178.78
KB
---s--x---
stapsh
26.09
KB
-rwxr-xr-x
stat
49.79
KB
-rwxr-xr-x
stdbuf
61.98
KB
-rwxr-xr-x
strace
425.97
KB
-rwxr-xr-x
strace-log-merge
944
B
-rwxr-xr-x
strings
31.7
KB
-rwxr-xr-x
strip
213.94
KB
-rwxr-xr-x
sudo
120.93
KB
---s--x--x
sudoedit
120.93
KB
---s--x--x
sudoreplay
62.34
KB
---x--x--x
sum
33.82
KB
-rwxr-xr-x
svn
195.63
KB
-rwxr-xr-x
svnadmin
61.46
KB
-rwxr-xr-x
svndumpfilter
33.09
KB
-rwxr-xr-x
svnlook
61.07
KB
-rwxr-xr-x
svnsync
43.66
KB
-rwxr-xr-x
svnversion
11.28
KB
-rwxr-xr-x
swig
1.09
MB
-rwxr-xr-x
system-config-firewall-tui
1.13
KB
-rwxr-xr-x
system-config-network
8.67
KB
-rwxr-xr-x
system-config-network-cmd
8.67
KB
-rwxr-xr-x
tabs
14.14
KB
-rwxr-xr-x
tac
94
KB
-rwxr-xr-x
tail
60.05
KB
-rwxr-xr-x
tailf
11.66
KB
-rwxr-xr-x
tangle
46.31
KB
-rwxr-xr-x
tbl
103.23
KB
-rwxr-xr-x
tcpdf_addfont
7.28
KB
-rwxr-xr-x
tee
27.1
KB
-rwxr-xr-x
test
33.02
KB
-rwxr-xr-x
testparm
1.57
MB
-rwxr-xr-x
tex
281.8
KB
-rwxr-xr-x
texconfig
43.33
KB
-rwxr-xr-x
texconfig-dialog
12.75
KB
-rwxr-xr-x
texconfig-sys
838
B
-rwxr-xr-x
texhash
5.66
KB
-rwxr-xr-x
texlinks
8.66
KB
-rwxr-xr-x
texsis
650.74
KB
-rwxr-xr-x
tfmtodit
30.16
KB
-rwxr-xr-x
tftopl
46.8
KB
-rwxr-xr-x
tgatoppm
13.73
KB
-rwxr-xr-x
theora_dump_video
17.2
KB
-rwxr-xr-x
theora_encode
45.05
KB
-rwxr-xr-x
theora_player
266
B
-rwxr-xr-x
theora_player.bin
26.41
KB
-rwxr-xr-x
thinkjettopbm
22.05
KB
-rwxr-xr-x
thumbnail
19.32
KB
-rwxr-xr-x
thumbpdf
40.59
KB
-rwxr-xr-x
tic
52.52
KB
-rwxr-xr-x
tie
14.8
KB
-rwxr-xr-x
tiff2bw
16.05
KB
-rwxr-xr-x
tiff2pdf
67.74
KB
-rwxr-xr-x
tiff2ps
45.01
KB
-rwxr-xr-x
tiff2rgba
15.59
KB
-rwxr-xr-x
tiffcmp
18.64
KB
-rwxr-xr-x
tiffcp
35.16
KB
-rwxr-xr-x
tiffcrop
101.85
KB
-rwxr-xr-x
tiffdither
14.37
KB
-rwxr-xr-x
tiffdump
20.45
KB
-rwxr-xr-x
tiffinfo
17.95
KB
-rwxr-xr-x
tiffmedian
18.83
KB
-rwxr-xr-x
tiffset
12.77
KB
-rwxr-xr-x
tiffsplit
14.85
KB
-rwxr-xr-x
tifftopnm
36.16
KB
-rwxr-xr-x
time
17.51
KB
-rwxr-xr-x
timeout
49
KB
-rwxr-xr-x
tload
11.53
KB
-rwxr-xr-x
tmpwatch
21.15
KB
-rwxr-xr-x
tn5250
36.44
KB
-rwxr-xr-x
tnameserv
10.04
KB
-rwxr-xr-x
toe
15.13
KB
-rwxr-xr-x
tomcat6-digest
1.06
KB
-rwxr-xr-x
tomcat6-tool-wrapper
1.02
KB
-rwxr-xr-x
top
66.77
KB
-rwxr-xr-x
tput
14.91
KB
-rwxr-xr-x
tr
40.48
KB
-rwxr-xr-x
trace-cmd
269.22
KB
-rwxr-xr-x
troff
355.09
KB
-rwxr-xr-x
truncate
49.96
KB
-rwxr-xr-x
tset
21.91
KB
-rwxr-xr-x
tsort
35.02
KB
-rwxr-xr-x
ttmkfdir
107.1
KB
-rwxr-xr-x
tty
24.87
KB
-rwxr-xr-x
tzselect
6.96
KB
-rwxr-xr-x
ucs2any
21.34
KB
-rwxr-xr-x
ul
17.12
KB
-rwxr-xr-x
unexpand
31.01
KB
-rwxr-xr-x
uniq
38.09
KB
-rwxr-xr-x
unix-lpr.sh
4.11
KB
-rwxr-xr-x
unlzma
50.63
KB
-rwxr-xr-x
unpack200
89.75
KB
-rwxr-xr-x
unprotoize
60.15
KB
-rwxr-xr-x
unshare
12.9
KB
-rwxr-xr-x
unwrapdiff
5.8
KB
-rwxr-xr-x
unxz
50.63
KB
-rwxr-xr-x
unzip
165.79
KB
-rwxr-xr-x
unzipsfx
79.17
KB
-rwxr-xr-x
update-ca-trust
8.54
KB
-rwxr-xr-x
update-desktop-database
18.18
KB
-rwxr-xr-x
update-gdk-pixbuf-loaders
484
B
-rwxr-xr-x
update-gio-modules
319
B
-rw-r--r--
update-gtk-immodules
313
B
-rwxr-xr-x
update-mime-database
49.73
KB
-rwxr-xr-x
updatedb
39.77
KB
-rwxr-xr-x
updmap
46.06
KB
-rwxr-xr-x
updmap-sys
829
B
-rwxr-xr-x
uptime
8.16
KB
-rwxr-xr-x
urlgrabber
12.15
KB
-rwxr-xr-x
usb-devices
4.1
KB
-rwxr-xr-x
usbhid-dump
23.39
KB
-rwxr-xr-x
users
27.06
KB
-rwxr-xr-x
utmpdump
13.86
KB
-rwxr-xr-x
uuidgen
9.14
KB
-rwxr-xr-x
uxterm
3.59
KB
-rwxr-xr-x
vacuumdb
37.89
KB
-rwxr-xr-x
valgrind
45.66
KB
-rwxr-xr-x
valgrind-listener
27.78
KB
-rwxr-xr-x
vdir
114.3
KB
-rwxr-xr-x
verify_blkparse
9.63
KB
-rwxr-xr-x
verifytree
9.19
KB
-rwxr-xr-x
vftovp
51.98
KB
-rwxr-xr-x
vgdb
95.42
KB
-rwxr-xr-x
vim
2.22
MB
-rwxr-xr-x
vimdiff
2.22
MB
-rwxr-xr-x
vimtutor
2.04
KB
-rwxr-xr-x
vmstat
24.3
KB
-rwxr-xr-x
vnstat
94.77
KB
-rwxr-xr-x
vnstati
83.65
KB
-rwxr-xr-x
volname
8.7
KB
-rwxr-xr-x
vptovf
60.27
KB
-rwxr-xr-x
w
16.22
KB
-rwxr-xr-x
wall
14.87
KB
-r-xr-sr-x
watch
16.46
KB
-rwxr-xr-x
watchgnupg
13.84
KB
-rwxr-xr-x
wbinfo
1.64
MB
-rwxr-xr-x
wbmptopbm
9.71
KB
-rwxr-xr-x
wc
35.55
KB
-rwxr-xr-x
wcmgr
25.78
KB
-rwxr-xr-x
weave
67.33
KB
-rwxr-xr-x
webalizer
172.85
KB
-rwxr-xr-x
webazolver
172.85
KB
-rwxr-xr-x
wftopfa
284
B
-rwxr-xr-x
wget
358.25
KB
-rwxr-xr-x
whatis
1.74
KB
-rwxr-xr-x
whereis
14.27
KB
-rwxr-xr-x
which
24.93
KB
-rwxr-xr-x
whiptail
29.59
KB
-rwxr-xr-x
who
47.8
KB
-rwxr-xr-x
whoami
25.66
KB
-rwxr-xr-x
winicontoppm
16.57
KB
-rwxr-xr-x
withsctp
227
B
-rwxr-xr-x
write
11.73
KB
-rwxr-sr-x
wrjpgcom
12.89
KB
-rwxr-xr-x
x3270
1.26
MB
-rwxr-xr-x
x3270if
19.76
KB
-rwxr-xr-x
x86_64
13.59
KB
-rwxr-xr-x
x86_64-redhat-linux-c++
264.98
KB
-rwxr-xr-x
x86_64-redhat-linux-g++
264.98
KB
-rwxr-xr-x
x86_64-redhat-linux-gcc
265.34
KB
-rwxr-xr-x
xargs
45.55
KB
-rwxr-xr-x
xbmtopbm
13.3
KB
-rwxr-xr-x
xdg-desktop-icon
14.7
KB
-rwxr-xr-x
xdg-desktop-menu
37.06
KB
-rwxr-xr-x
xdg-email
18.61
KB
-rwxr-xr-x
xdg-icon-resource
23.89
KB
-rwxr-xr-x
xdg-mime
28.88
KB
-rwxr-xr-x
xdg-open
10.94
KB
-rwxr-xr-x
xdg-screensaver
20.57
KB
-rwxr-xr-x
xdg-settings
24.47
KB
-rwxr-xr-x
xgettext
219.69
KB
-rwxr-xr-x
ximtoppm
14.28
KB
-rwxr-xr-x
xml-resolver
514
B
-rwxr-xr-x
xml-xparse
508
B
-rwxr-xr-x
xml-xread
505
B
-rwxr-xr-x
xml_grep
12.88
KB
-rwxr-xr-x
xml_merge
3.98
KB
-rwxr-xr-x
xml_pp
7.57
KB
-rwxr-xr-x
xml_spellcheck
6.44
KB
-rwxr-xr-x
xml_split
21.13
KB
-rwxr-xr-x
xmlcatalog
19.09
KB
-rwxr-xr-x
xmllint
63.34
KB
-rwxr-xr-x
xmlwf
25.47
KB
-rwxr-xr-x
xpmtoppm
18.11
KB
-rwxr-xr-x
xsltproc
28.88
KB
-rwxr-xr-x
xsubpp
4
KB
-rwxr-xr-x
xt5250
2.71
KB
-rwxr-xr-x
xterm
414.13
KB
-rwxr-xr-x
xvminitoppm
10.64
KB
-rwxr-xr-x
xwdtopnm
21.57
KB
-rwxr-xr-x
xxd
18.24
KB
-rwxr-xr-x
xz
50.63
KB
-rwxr-xr-x
xzcat
50.63
KB
-rwxr-xr-x
xzcmp
5.1
KB
-rwxr-xr-x
xzdec
15.07
KB
-rwxr-xr-x
xzdiff
5.1
KB
-rwxr-xr-x
xzegrep
5.36
KB
-rwxr-xr-x
xzfgrep
5.36
KB
-rwxr-xr-x
xzgrep
5.36
KB
-rwxr-xr-x
xzless
1.76
KB
-rwxr-xr-x
xzmore
2.12
KB
-rwxr-xr-x
yacc
76.46
KB
-rwxr-xr-x
ybmtopbm
9.74
KB
-rwxr-xr-x
yes
25.06
KB
-rwxr-xr-x
ypcat
15.79
KB
-rwxr-xr-x
ypchfn
25.41
KB
-rwxr-xr-x
ypchsh
25.41
KB
-rwxr-xr-x
ypmatch
13.66
KB
-rwxr-xr-x
yppasswd
25.41
KB
-rwxr-xr-x
ypwhich
17.14
KB
-rwxr-xr-x
yum
801
B
-rwxr-xr-x
yum-builddep
8.34
KB
-rwxr-xr-x
yum-config-manager
8.32
KB
-rwxr-xr-x
yum-debug-dump
7.42
KB
-rwxr-xr-x
yum-debug-restore
7.75
KB
-rwxr-xr-x
yum-groups-manager
10.77
KB
-rwxr-xr-x
yumdownloader
12
KB
-rwxr-xr-x
yuvsplittoppm
11.7
KB
-rwxr-xr-x
yuvtoppm
10.13
KB
-rwxr-xr-x
zcmp
67
B
-rwxr-xr-x
zdiff
4.34
KB
-rwxr-xr-x
zegrep
62
B
-rwxr-xr-x
zeisstopnm
10.47
KB
-rwxr-xr-x
zfgrep
62
B
-rwxr-xr-x
zforce
1.98
KB
-rwxr-xr-x
zgrep
4.86
KB
-rwxr-xr-x
zip
210.51
KB
-rwxr-xr-x
zipcloak
107.13
KB
-rwxr-xr-x
zipgrep
2.88
KB
-rwxr-xr-x
zipinfo
165.79
KB
-rwxr-xr-x
zipnote
99.47
KB
-rwxr-xr-x
zipsplit
102.81
KB
-rwxr-xr-x
zless
1.69
KB
-rwxr-xr-x
zmore
2.54
KB
-rwxr-xr-x
znew
5.12
KB
-rwxr-xr-x
zsoelim
25.58
KB
-rwxr-xr-x
zts-php
4.09
MB
-rwxr-xr-x
Delete
Unzip
Zip
${this.title}
Close
Code Editor : s2p
#!/usr/bin/perl eval 'exec /usr/bin/perl -S $0 ${1+"$@"}' if $running_under_some_shell; my $startperl; my $perlpath; ($startperl = <<'/../') =~ s/\s*\z//; #!/usr/bin/perl /../ ($perlpath = <<'/../') =~ s/\s*\z//; /usr/bin/perl /../ $0 =~ s/^.*?(\w+)[\.\w]*$/$1/; # (p)sed - a stream editor # History: Aug 12 2000: Original version. # Mar 25 2002: Rearrange generated Perl program. # Jul 23 2007: Fix bug in regex stripping (M.Thorland) use strict; use integer; use Symbol; =head1 NAME psed - a stream editor =head1 SYNOPSIS psed [-an] script [file ...] psed [-an] [-e script] [-f script-file] [file ...] s2p [-an] [-e script] [-f script-file] =head1 DESCRIPTION A stream editor reads the input stream consisting of the specified files (or standard input, if none are given), processes is line by line by applying a script consisting of edit commands, and writes resulting lines to standard output. The filename `C<->' may be used to read standard input. The edit script is composed from arguments of B<-e> options and script-files, in the given order. A single script argument may be specified as the first parameter. If this program is invoked with the name F<s2p>, it will act as a sed-to-Perl translator. See L<"sed Script Translation">. B<sed> returns an exit code of 0 on success or >0 if an error occurred. =head1 OPTIONS =over 4 =item B<-a> A file specified as argument to the B<w> edit command is by default opened before input processing starts. Using B<-a>, opening of such files is delayed until the first line is actually written to the file. =item B<-e> I<script> The editing commands defined by I<script> are appended to the script. Multiple commands must be separated by newlines. =item B<-f> I<script-file> Editing commands from the specified I<script-file> are read and appended to the script. =item B<-n> By default, a line is written to standard output after the editing script has been applied to it. The B<-n> option suppresses automatic printing. =back =head1 COMMANDS B<sed> command syntax is defined as Z<> Z<> Z<> Z<>[I<address>[B<,>I<address>]][B<!>]I<function>[I<argument>] with whitespace being permitted before or after addresses, and between the function character and the argument. The I<address>es and the address inverter (C<!>) are used to restrict the application of a command to the selected line(s) of input. Each command must be on a line of its own, except where noted in the synopses below. The edit cycle performed on each input line consist of reading the line (without its trailing newline character) into the I<pattern space>, applying the applicable commands of the edit script, writing the final contents of the pattern space and a newline to the standard output. A I<hold space> is provided for saving the contents of the pattern space for later use. =head2 Addresses A sed address is either a line number or a pattern, which may be combined arbitrarily to construct ranges. Lines are numbered across all input files. Any address may be followed by an exclamation mark (`C<!>'), selecting all lines not matching that address. =over 4 =item I<number> The line with the given number is selected. =item B<$> A dollar sign (C<$>) is the line number of the last line of the input stream. =item B</>I<regular expression>B</> A pattern address is a basic regular expression (see L<"Basic Regular Expressions">), between the delimiting character C</>. Any other character except C<\> or newline may be used to delimit a pattern address when the initial delimiter is prefixed with a backslash (`C<\>'). =back If no address is given, the command selects every line. If one address is given, it selects the line (or lines) matching the address. Two addresses select a range that begins whenever the first address matches, and ends (including that line) when the second address matches. If the first (second) address is a matching pattern, the second address is not applied to the very same line to determine the end of the range. Likewise, if the second address is a matching pattern, the first address is not applied to the very same line to determine the begin of another range. If both addresses are line numbers, and the second line number is less than the first line number, then only the first line is selected. =head2 Functions The maximum permitted number of addresses is indicated with each function synopsis below. The argument I<text> consists of one or more lines following the command. Embedded newlines in I<text> must be preceded with a backslash. Other backslashes in I<text> are deleted and the following character is taken literally. =over 4 =cut my %ComTab; my %GenKey; #-------------------------------------------------------------------------- $ComTab{'a'}=[ 1, 'txt', \&Emit, '{ push( @Q, <<'."'TheEnd' ) }\n" ]; #ok =item [1addr]B<a\> I<text> Write I<text> (which must start on the line following the command) to standard output immediately before reading the next line of input, either by executing the B<N> function or by beginning a new cycle. =cut #-------------------------------------------------------------------------- $ComTab{'b'}=[ 2, 'str', \&Branch, '{ goto XXX; }' ]; #ok =item [2addr]B<b> [I<label>] Branch to the B<:> function with the specified I<label>. If no label is given, branch to the end of the script. =cut #-------------------------------------------------------------------------- $ComTab{'c'}=[ 2, 'txt', \&Change, <<'-X-' ]; #ok { print <<'TheEnd'; } $doPrint = 0; goto EOS; -X- ### continue OK => next CYCLE; =item [2addr]B<c\> I<text> The line, or range of lines, selected by the address is deleted. The I<text> (which must start on the line following the command) is written to standard output. With an address range, this occurs at the end of the range. =cut #-------------------------------------------------------------------------- $ComTab{'d'}=[ 2, '', \&Emit, <<'-X-' ]; #ok { $doPrint = 0; goto EOS; } -X- ### continue OK => next CYCLE; =item [2addr]B<d> Deletes the pattern space and starts the next cycle. =cut #-------------------------------------------------------------------------- $ComTab{'D'}=[ 2, '', \&Emit, <<'-X-' ]; #ok { s/^.*\n?//; if(length($_)){ goto BOS } else { goto EOS } } -X- ### continue OK => next CYCLE; =item [2addr]B<D> Deletes the pattern space through the first embedded newline or to the end. If the pattern space becomes empty, a new cycle is started, otherwise execution of the script is restarted. =cut #-------------------------------------------------------------------------- $ComTab{'g'}=[ 2, '', \&Emit, '{ $_ = $Hold };' ]; #ok =item [2addr]B<g> Replace the contents of the pattern space with the hold space. =cut #-------------------------------------------------------------------------- $ComTab{'G'}=[ 2, '', \&Emit, '{ $_ .= "\n"; $_ .= $Hold };' ]; #ok =item [2addr]B<G> Append a newline and the contents of the hold space to the pattern space. =cut #-------------------------------------------------------------------------- $ComTab{'h'}=[ 2, '', \&Emit, '{ $Hold = $_ }' ]; #ok =item [2addr]B<h> Replace the contents of the hold space with the pattern space. =cut #-------------------------------------------------------------------------- $ComTab{'H'}=[ 2, '', \&Emit, '{ $Hold .= "\n"; $Hold .= $_; }' ]; #ok =item [2addr]B<H> Append a newline and the contents of the pattern space to the hold space. =cut #-------------------------------------------------------------------------- $ComTab{'i'}=[ 1, 'txt', \&Emit, '{ print <<'."'TheEnd' }\n" ]; #ok =item [1addr]B<i\> I<text> Write the I<text> (which must start on the line following the command) to standard output. =cut #-------------------------------------------------------------------------- $ComTab{'l'}=[ 2, '', \&Emit, '{ _l() }' ]; #okUTF8 =item [2addr]B<l> Print the contents of the pattern space: non-printable characters are shown in C-style escaped form; long lines are split and have a trailing `C<\>' at the point of the split; the true end of a line is marked with a `C<$>'. Escapes are: `\a', `\t', `\n', `\f', `\r', `\e' for BEL, HT, LF, FF, CR, ESC, respectively, and `\' followed by a three-digit octal number for all other non-printable characters. =cut #-------------------------------------------------------------------------- $ComTab{'n'}=[ 2, '', \&Emit, <<'-X-' ]; #ok { print $_, "\n" if $doPrint; printQ() if @Q; $CondReg = 0; last CYCLE unless getsARGV(); chomp(); } -X- =item [2addr]B<n> If automatic printing is enabled, write the pattern space to the standard output. Replace the pattern space with the next line of input. If there is no more input, processing is terminated. =cut #-------------------------------------------------------------------------- $ComTab{'N'}=[ 2, '', \&Emit, <<'-X-' ]; #ok { printQ() if @Q; $CondReg = 0; last CYCLE unless getsARGV( $h ); chomp( $h ); $_ .= "\n$h"; } -X- =item [2addr]B<N> Append a newline and the next line of input to the pattern space. If there is no more input, processing is terminated. =cut #-------------------------------------------------------------------------- $ComTab{'p'}=[ 2, '', \&Emit, '{ print $_, "\n"; }' ]; #ok =item [2addr]B<p> Print the pattern space to the standard output. (Use the B<-n> option to suppress automatic printing at the end of a cycle if you want to avoid double printing of lines.) =cut #-------------------------------------------------------------------------- $ComTab{'P'}=[ 2, '', \&Emit, <<'-X-' ]; #ok { if( /^(.*)/ ){ print $1, "\n"; } } -X- =item [2addr]B<P> Prints the pattern space through the first embedded newline or to the end. =cut #-------------------------------------------------------------------------- $ComTab{'q'}=[ 1, '', \&Emit, <<'-X-' ]; #ok { print $_, "\n" if $doPrint; last CYCLE; } -X- =item [1addr]B<q> Branch to the end of the script and quit without starting a new cycle. =cut #-------------------------------------------------------------------------- $ComTab{'r'}=[ 1, 'str', \&Emit, "{ _r( '-X-' ) }" ]; #ok =item [1addr]B<r> I<file> Copy the contents of the I<file> to standard output immediately before the next attempt to read a line of input. Any error encountered while reading I<file> is silently ignored. =cut #-------------------------------------------------------------------------- $ComTab{'s'}=[ 2, 'sub', \&Emit, '' ]; #ok =item [2addr]B<s/>I<regular expression>B</>I<replacement>B</>I<flags> Substitute the I<replacement> string for the first substring in the pattern space that matches the I<regular expression>. Any character other than backslash or newline can be used instead of a slash to delimit the regular expression and the replacement. To use the delimiter as a literal character within the regular expression and the replacement, precede the character by a backslash (`C<\>'). Literal newlines may be embedded in the replacement string by preceding a newline with a backslash. Within the replacement, an ampersand (`C<&>') is replaced by the string matching the regular expression. The strings `C<\1>' through `C<\9>' are replaced by the corresponding subpattern (see L<"Basic Regular Expressions">). To get a literal `C<&>' or `C<\>' in the replacement text, precede it by a backslash. The following I<flags> modify the behaviour of the B<s> command: =over 8 =item B<g> The replacement is performed for all matching, non-overlapping substrings of the pattern space. =item B<1>..B<9> Replace only the n-th matching substring of the pattern space. =item B<p> If the substitution was made, print the new value of the pattern space. =item B<w> I<file> If the substitution was made, write the new value of the pattern space to the specified file. =back =cut #-------------------------------------------------------------------------- $ComTab{'t'}=[ 2, 'str', \&Branch, '{ goto XXX if _t() }' ]; #ok =item [2addr]B<t> [I<label>] Branch to the B<:> function with the specified I<label> if any B<s> substitutions have been made since the most recent reading of an input line or execution of a B<t> function. If no label is given, branch to the end of the script. =cut #-------------------------------------------------------------------------- $ComTab{'w'}=[ 2, 'str', \&Write, "{ _w( '-X-' ) }" ]; #ok =item [2addr]B<w> I<file> The contents of the pattern space are written to the I<file>. =cut #-------------------------------------------------------------------------- $ComTab{'x'}=[ 2, '', \&Emit, '{ ($Hold, $_) = ($_, $Hold) }' ]; #ok =item [2addr]B<x> Swap the contents of the pattern space and the hold space. =cut #-------------------------------------------------------------------------- $ComTab{'y'}=[ 2, 'tra', \&Emit, '' ]; #ok =item [2addr]B<y>B</>I<string1>B</>I<string2>B</> In the pattern space, replace all characters occuring in I<string1> by the character at the corresponding position in I<string2>. It is possible to use any character (other than a backslash or newline) instead of a slash to delimit the strings. Within I<string1> and I<string2>, a backslash followed by any character other than a newline is that literal character, and a backslash followed by an `n' is replaced by a newline character. =cut #-------------------------------------------------------------------------- $ComTab{'='}=[ 1, '', \&Emit, '{ print "$.\n" }' ]; #ok =item [1addr]B<=> Prints the current line number on the standard output. =cut #-------------------------------------------------------------------------- $ComTab{':'}=[ 0, 'str', \&Label, '' ]; #ok =item [0addr]B<:> [I<label>] The command specifies the position of the I<label>. It has no other effect. =cut #-------------------------------------------------------------------------- $ComTab{'{'}=[ 2, '', \&BeginBlock, '{' ]; #ok $ComTab{'}'}=[ 0, '', \&EndBlock, ';}' ]; #ok # ';' to avoid warning on empty {}-block =item [2addr]B<{> [I<command>] =item [0addr]B<}> These two commands begin and end a command list. The first command may be given on the same line as the opening B<{> command. The commands within the list are jointly selected by the address(es) given on the B<{> command (but may still have individual addresses). =cut #-------------------------------------------------------------------------- $ComTab{'#'}=[ 0, 'str', \&Comment, '' ]; #ok =item [0addr]B<#> [I<comment>] The entire line is ignored (treated as a comment). If, however, the first two characters in the script are `C<#n>', automatic printing of output is suppressed, as if the B<-n> option were given on the command line. =back =cut use vars qw{ $isEOF $Hold %wFiles @Q $CondReg $doPrint }; my $useDEBUG = exists( $ENV{PSEDDEBUG} ); my $useEXTBRE = $ENV{PSEDEXTBRE} || ''; $useEXTBRE =~ s/[^<>wWyB]//g; # gawk RE's handle these my $doAutoPrint = 1; # automatic printing of pattern space (-n => 0) my $doOpenWrite = 1; # open w command output files at start (-a => 0) my $svOpenWrite = 0; # save $doOpenWrite # lower case $0 below as a VMSism. The VMS build procedure creates the # s2p file traditionally in upper case on the disk. When VMS is in a # case preserved or case sensitive mode, $0 will be returned in the exact # case which will be on the disk, and that is not predictable at this time. my $doGenerate = lc($0) eq 's2p'; # Collected and compiled script # my( @Commands, %Defined, @BlockStack, %Label, $labNum, $Code, $Func ); $Code = ''; ################## # Compile Time # # Labels # # Error handling # sub Warn($;$){ my( $msg, $loc ) = @_; $loc ||= ''; $loc .= ': ' if length( $loc ); warn( "$0: $loc$msg\n" ); } $labNum = 0; sub newLabel(){ return 'L_'.++$labNum; } # safeHere: create safe here delimiter and modify opcode and argument # sub safeHere($$){ my( $codref, $argref ) = @_; my $eod = 'EOD000'; while( $$argref =~ /^$eod$/m ){ $eod++; } $$codref =~ s/TheEnd/$eod/e; $$argref .= "$eod\n"; } # Emit: create address logic and emit command # sub Emit($$$$$$){ my( $addr1, $addr2, $negated, $opcode, $arg, $fl ) = @_; my $cond = ''; if( defined( $addr1 ) ){ if( defined( $addr2 ) ){ $addr1 .= $addr2 =~ /^\d+$/ ? "..$addr2" : "...$addr2"; } else { $addr1 .= ' == $.' if $addr1 =~ /^\d+$/; } $cond = $negated ? "unless( $addr1 )\n" : "if( $addr1 )\n"; } if( $opcode eq '' ){ $Code .= "$cond$arg\n"; } elsif( $opcode =~ s/-X-/$arg/e ){ $Code .= "$cond$opcode\n"; } elsif( $opcode =~ /TheEnd/ ){ safeHere( \$opcode, \$arg ); $Code .= "$cond$opcode$arg"; } else { $Code .= "$cond$opcode\n"; } 0; } # Write (w command, w flag): store pathname # sub Write($$$$$$){ my( $addr1, $addr2, $negated, $opcode, $path, $fl ) = @_; $wFiles{$path} = ''; Emit( $addr1, $addr2, $negated, $opcode, $path, $fl ); } # Label (: command): label definition # sub Label($$$$$$){ my( $addr1, $addr2, $negated, $opcode, $lab, $fl ) = @_; my $rc = 0; $lab =~ s/\s+//; if( length( $lab ) ){ my $h; if( ! exists( $Label{$lab} ) ){ $h = $Label{$lab}{name} = newLabel(); } else { $h = $Label{$lab}{name}; if( exists( $Label{$lab}{defined} ) ){ my $dl = $Label{$lab}{defined}; Warn( "duplicate label $lab (first defined at $dl)", $fl ); $rc = 1; } } $Label{$lab}{defined} = $fl; $Code .= "$h:;\n"; } $rc; } # BeginBlock ({ command): push block start # sub BeginBlock($$$$$$){ my( $addr1, $addr2, $negated, $opcode, $arg, $fl ) = @_; push( @BlockStack, [ $fl, $addr1, $addr2, $negated ] ); Emit( $addr1, $addr2, $negated, $opcode, $arg, $fl ); } # EndBlock (} command): check proper nesting # sub EndBlock($$$$$$){ my( $addr1, $addr2, $negated, $opcode, $arg, $fl ) = @_; my $rc; my $jcom = pop( @BlockStack ); if( defined( $jcom ) ){ $rc = Emit( $addr1, $addr2, $negated, $opcode, $arg, $fl ); } else { Warn( "unexpected `}'", $fl ); $rc = 1; } $rc; } # Branch (t, b commands): check or create label, substitute default # sub Branch($$$$$$){ my( $addr1, $addr2, $negated, $opcode, $lab, $fl ) = @_; $lab =~ s/\s+//; # no spaces at end my $h; if( length( $lab ) ){ if( ! exists( $Label{$lab} ) ){ $h = $Label{$lab}{name} = newLabel(); } else { $h = $Label{$lab}{name}; } push( @{$Label{$lab}{used}}, $fl ); } else { $h = 'EOS'; } $opcode =~ s/XXX/$h/e; Emit( $addr1, $addr2, $negated, $opcode, '', $fl ); } # Change (c command): is special due to range end watching # sub Change($$$$$$){ my( $addr1, $addr2, $negated, $opcode, $arg, $fl ) = @_; my $kwd = $negated ? 'unless' : 'if'; if( defined( $addr2 ) ){ $addr1 .= $addr2 =~ /^\d+$/ ? "..$addr2" : "...$addr2"; if( ! $negated ){ $addr1 = '$icnt = ('.$addr1.')'; $opcode = 'if( $icnt =~ /E0$/ )' . $opcode; } } else { $addr1 .= ' == $.' if $addr1 =~ /^\d+$/; } safeHere( \$opcode, \$arg ); $Code .= "$kwd( $addr1 ){\n $opcode$arg}\n"; 0; } # Comment (# command): A no-op. Who would've thought that! # sub Comment($$$$$$){ my( $addr1, $addr2, $negated, $opcode, $arg, $fl ) = @_; ### $Code .= "# $arg\n"; 0; } # stripRegex from the current command. If we're in the first # part of s///, trailing spaces have to be kept as the initial # part of the replacement string. # sub stripRegex($$;$){ my( $del, $sref, $sub ) = @_; my $regex = $del; print "stripRegex:$del:$$sref:\n" if $useDEBUG; while( $$sref =~ s{^(.*?)(\\*)\Q$del\E(\s*)}{}s ){ my $sl = $2; $regex .= $1.$sl.$del; if( length( $sl ) % 2 == 0 ){ if( $sub && (length( $3 ) > 0) ){ $$sref = $3 . $$sref; } return $regex; } $regex .= $3; } undef(); } # stripTrans: take a <del> terminated string from y command # honoring and cleaning up of \-escaped <del>'s # sub stripTrans($$){ my( $del, $sref ) = @_; my $t = ''; print "stripTrans:$del:$$sref:\n" if $useDEBUG; while( $$sref =~ s{^(.*?)(\\*)\Q$del\E}{}s ){ my $sl = $2; $t .= $1; if( length( $sl ) % 2 == 0 ){ $t .= $sl; $t =~ s/\\\\/\\/g; return $t; } chop( $sl ); $t .= $sl.$del.$3; } undef(); } # makey - construct Perl y/// from sed y/// # sub makey($$$){ my( $fr, $to, $fl ) = @_; my $error = 0; # Ensure that any '-' is up front. # Diagnose duplicate contradicting mappings my %tr; for( my $i = 0; $i < length($fr); $i++ ){ my $fc = substr($fr,$i,1); my $tc = substr($to,$i,1); if( exists( $tr{$fc} ) && $tr{$fc} ne $tc ){ Warn( "ambiguous translation for character `$fc' in `y' command", $fl ); $error++; } $tr{$fc} = $tc; } $fr = $to = ''; if( exists( $tr{'-'} ) ){ ( $fr, $to ) = ( '-', $tr{'-'} ); delete( $tr{'-'} ); } else { $fr = $to = ''; } # might just as well sort it... for my $fc ( sort keys( %tr ) ){ $fr .= $fc; $to .= $tr{$fc}; } # make embedded delimiters and newlines safe $fr =~ s/([{}])/\$1/g; $to =~ s/([{}])/\$1/g; $fr =~ s/\n/\\n/g; $to =~ s/\n/\\n/g; return $error ? undef() : "{ y{$fr}{$to}; }"; } ###### # makes - construct Perl s/// from sed s/// # sub makes($$$$$$$){ my( $regex, $subst, $path, $global, $print, $nmatch, $fl ) = @_; # make embedded newlines safe $regex =~ s/\n/\\n/g; $subst =~ s/\n/\\n/g; my $code; # n-th occurrence # if( length( $nmatch ) ){ $code = <<TheEnd; { \$n = $nmatch; while( --\$n && ( \$s = m ${regex}g ) ){} \$s = ( substr( \$_, pos() ) =~ s ${regex}${subst}s ) if \$s; \$CondReg ||= \$s; TheEnd } else { $code = <<TheEnd; { \$s = s ${regex}${subst}s${global}; \$CondReg ||= \$s; TheEnd } if( $print ){ $code .= ' print $_, "\n" if $s;'."\n"; } if( defined( $path ) ){ $wFiles{$path} = ''; $code .= " _w( '$path' ) if \$s;\n"; $GenKey{'w'} = 1; } $code .= "}"; } =head1 BASIC REGULAR EXPRESSIONS A I<Basic Regular Expression> (BRE), as defined in POSIX 1003.2, consists of I<atoms>, for matching parts of a string, and I<bounds>, specifying repetitions of a preceding atom. =head2 Atoms The possible atoms of a BRE are: B<.>, matching any single character; B<^> and B<$>, matching the null string at the beginning or end of a string, respectively; a I<bracket expressions>, enclosed in B<[> and B<]> (see below); and any single character with no other significance (matching that character). A B<\> before one of: B<.>, B<^>, B<$>, B<[>, B<*>, B<\>, matching the character after the backslash. A sequence of atoms enclosed in B<\(> and B<\)> becomes an atom and establishes the target for a I<backreference>, consisting of the substring that actually matches the enclosed atoms. Finally, B<\> followed by one of the digits B<0> through B<9> is a backreference. A B<^> that is not first, or a B<$> that is not last does not have a special significance and need not be preceded by a backslash to become literal. The same is true for a B<]>, that does not terminate a bracket expression. An unescaped backslash cannot be last in a BRE. =head2 Bounds The BRE bounds are: B<*>, specifying 0 or more matches of the preceding atom; B<\{>I<count>B<\}>, specifying that many repetitions; B<\{>I<minimum>B<,\}>, giving a lower limit; and B<\{>I<minimum>B<,>I<maximum>B<\}> finally defines a lower and upper bound. A bound appearing as the first item in a BRE is taken literally. =head2 Bracket Expressions A I<bracket expression> is a list of characters, character ranges and character classes enclosed in B<[> and B<]> and matches any single character from the represented set of characters. A character range is written as two characters separated by B<-> and represents all characters (according to the character collating sequence) that are not less than the first and not greater than the second. (Ranges are very collating-sequence-dependent, and portable programs should avoid relying on them.) A character class is one of the class names alnum digit punct alpha graph space blank lower upper cntrl print xdigit enclosed in B<[:> and B<:]> and represents the set of characters as defined in ctype(3). If the first character after B<[> is B<^>, the sense of matching is inverted. To include a literal `C<^>', place it anywhere else but first. To include a literal 'C<]>' place it first or immediately after an initial B<^>. To include a literal `C<->' make it the first (or second after B<^>) or last character, or the second endpoint of a range. The special bracket expression constructs C<[[:E<lt>:]]> and C<[[:E<gt>:]]> match the null string at the beginning and end of a word respectively. (Note that neither is identical to Perl's `\b' atom.) =head2 Additional Atoms Since some sed implementations provide additional regular expression atoms (not defined in POSIX 1003.2), B<psed> is capable of translating the following backslash escapes: =over 4 =item B<\E<lt>> This is the same as C<[[:E<gt>:]]>. =item B<\E<gt>> This is the same as C<[[:E<lt>:]]>. =item B<\w> This is an abbreviation for C<[[:alnum:]_]>. =item B<\W> This is an abbreviation for C<[^[:alnum:]_]>. =item B<\y> Match the empty string at a word boundary. =item B<\B> Match the empty string between any two either word or non-word characters. =back To enable this feature, the environment variable PSEDEXTBRE must be set to a string containing the requested characters, e.g.: C<PSEDEXTBRE='E<lt>E<gt>wW'>. =cut ##### # bre2p - convert BRE to Perl RE # sub peek(\$$){ my( $pref, $ic ) = @_; $ic < length($$pref)-1 ? substr( $$pref, $ic+1, 1 ) : ''; } sub bre2p($$$){ my( $del, $pat, $fl ) = @_; my $led = $del; $led =~ tr/{([</})]>/; $led = '' if $led eq $del; $pat = substr( $pat, 1, length($pat) - 2 ); my $res = ''; my $bracklev = 0; my $backref = 0; my $parlev = 0; for( my $ic = 0; $ic < length( $pat ); $ic++ ){ my $c = substr( $pat, $ic, 1 ); if( $c eq '\\' ){ ### backslash escapes my $nc = peek($pat,$ic); if( $nc eq '' ){ Warn( "`\\' cannot be last in pattern", $fl ); return undef(); } $ic++; if( $nc eq $del ){ ## \<pattern del> => \<pattern del> $res .= "\\$del"; } elsif( $nc =~ /([[.*\\n])/ ){ ## check for \-escaped magics and \n: ## \[ \. \* \\ \n stay as they are $res .= '\\'.$nc; } elsif( $nc eq '(' ){ ## \( => ( $parlev++; $res .= '('; } elsif( $nc eq ')' ){ ## \) => ) $parlev--; $backref++; if( $parlev < 0 ){ Warn( "unmatched `\\)'", $fl ); return undef(); } $res .= ')'; } elsif( $nc eq '{' ){ ## repetition factor \{<i>[,[<j>]]\} my $endpos = index( $pat, '\\}', $ic ); if( $endpos < 0 ){ Warn( "unmatched `\\{'", $fl ); return undef(); } my $rep = substr( $pat, $ic+1, $endpos-($ic+1) ); $ic = $endpos + 1; if( $res =~ /^\^?$/ ){ $res .= "\\{$rep\}"; } elsif( $rep =~ /^(\d+)(,?)(\d*)?$/ ){ my $min = $1; my $com = $2 || ''; my $max = $3; if( length( $max ) ){ if( $max < $min ){ Warn( "maximum less than minimum in `\\{$rep\\}'", $fl ); return undef(); } } else { $max = ''; } # simplify some if( $min == 0 && $max eq '1' ){ $res .= '?'; } elsif( $min == 1 && "$com$max" eq ',' ){ $res .= '+'; } elsif( $min == 0 && "$com$max" eq ',' ){ $res .= '*'; } else { $res .= "{$min$com$max}"; } } else { Warn( "invalid repeat clause `\\{$rep\\}'", $fl ); return undef(); } } elsif( $nc =~ /^[1-9]$/ ){ ## \1 .. \9 => \1 .. \9, but check for a following digit if( $nc > $backref ){ Warn( "invalid backreference ($nc)", $fl ); return undef(); } $res .= "\\$nc"; if( peek($pat,$ic) =~ /[0-9]/ ){ $res .= '(?:)'; } } elsif( $useEXTBRE && ( $nc =~ /[$useEXTBRE]/ ) ){ ## extensions - at most <>wWyB - not in POSIX if( $nc eq '<' ){ ## \< => \b(?=\w), be precise $res .= '\\b(?<=\\W)'; } elsif( $nc eq '>' ){ ## \> => \b(?=\W), be precise $res .= '\\b(?=\\W)'; } elsif( $nc eq 'y' ){ ## \y => \b $res .= '\\b'; } else { ## \B, \w, \W remain the same $res .= "\\$nc"; } } elsif( $nc eq $led ){ ## \<closing bracketing-delimiter> - keep '\' $res .= "\\$nc"; } else { ## \ <char> => <char> ("as if `\' were not present") $res .= $nc; } } elsif( $c eq '.' ){ ## . => . $res .= $c; } elsif( $c eq '*' ){ ## * => * but \* if there's nothing preceding it if( $res =~ /^\^?$/ ){ $res .= '\\*'; } elsif( substr( $res, -1, 1 ) ne '*' ){ $res .= $c; } } elsif( $c eq '[' ){ ## parse []: [^...] [^]...] [-...] my $add = '['; if( peek($pat,$ic) eq '^' ){ $ic++; $add .= '^'; } my $nc = peek($pat,$ic); if( $nc eq ']' || $nc eq '-' ){ $add .= $nc; $ic++; } # check that [ is not trailing if( $ic >= length( $pat ) - 1 ){ Warn( "unmatched `['", $fl ); return undef(); } # look for [:...:] and x-y my $rstr = substr( $pat, $ic+1 ); if( $rstr =~ /^((?:\[:\(\w+|[><]\):\]|[^]-](?:-[^]])?)*)/ ){ my $cnt = $1; $ic += length( $cnt ); $cnt =~ s/([\\\$])/\\$1/g; # `\', `$' are magic in Perl [] # try some simplifications my $red = $cnt; if( $red =~ s/0-9// ){ $cnt = $red.'\d'; if( $red =~ s/A-Z// && $red =~ s/a-z// && $red =~ s/_// ){ $cnt = $red.'\w'; } } $add .= $cnt; # POSIX 1003.2 has this (optional) for begin/end word $add = '\\b(?=\\W)' if $add eq '[[:<:]]'; $add = '\\b(?<=\\W)' if $add eq '[[:>:]]'; } ## may have a trailing `-' before `]' if( $ic < length($pat) - 1 && substr( $pat, $ic+1 ) =~ /^(-?])/ ){ $ic += length( $1 ); $add .= $1; # another simplification $add =~ s/^\[(\^?)(\\[dw])]$/ $1 eq '^' ? uc($2) : $2 /e; $res .= $add; } else { Warn( "unmatched `['", $fl ); return undef(); } } elsif( $c eq $led ){ ## unescaped <closing bracketing-delimiter> $res .= "\\$c"; } elsif( $c eq ']' ){ ## unmatched ] is not magic $res .= ']'; } elsif( $c =~ /[|+?{}()]/ ){ ## not magic in BRE, but in Perl: \-quote $res .= "\\$c"; } elsif( $c eq '^' ){ ## not magic unless 1st, but in Perl: \-quote $res .= length( $res ) ? '\\^' : '^'; } elsif( $c eq '$' ){ ## not magic unless last, but in Perl: \-quote $res .= $ic == length( $pat ) - 1 ? '$' : '\\$'; } else { $res .= $c; } } if( $parlev ){ Warn( "unmatched `\\('", $fl ); return undef(); } # final cleanup: eliminate raw HTs $res =~ s/\t/\\t/g; return $del . $res . ( $led ? $led : $del ); } ##### # sub2p - convert sed substitution to Perl substitution # sub sub2p($$$){ my( $del, $subst, $fl ) = @_; my $led = $del; $led =~ tr/{([</})]>/; $led = '' if $led eq $del; $subst = substr( $subst, 1, length($subst) - 2 ); my $res = ''; for( my $ic = 0; $ic < length( $subst ); $ic++ ){ my $c = substr( $subst, $ic, 1 ); if( $c eq '\\' ){ ### backslash escapes my $nc = peek($subst,$ic); if( $nc eq '' ){ Warn( "`\\' cannot be last in substitution", $fl ); return undef(); } $ic++; if( $nc =~ /[\\$del$led]/ ){ ## \ and delimiter $res .= '\\' . $nc; } elsif( $nc =~ /[1-9]/ ){ ## \1 - \9 => ${1} - ${9} $res .= '${' . $nc . '}'; } else { ## everything else (includes &): omit \ $res .= $nc; } } elsif( $c eq '&' ){ ## & => $& $res .= '$&'; } elsif( $c =~ /[\$\@$led]/ ){ ## magic in Perl's substitution string $res .= '\\' . $c; } else { $res .= $c; } } # final cleanup: eliminate raw HTs $res =~ s/\t/\\t/g; return ( $led ? $del : $led ) . $res . ( $led ? $led : $del ); } sub Parse(){ my $error = 0; my( $pdef, $pfil, $plin ); for( my $icom = 0; $icom < @Commands; $icom++ ){ my $cmd = $Commands[$icom]; print "Parse:$cmd:\n" if $useDEBUG; $cmd =~ s/^\s+//; next unless length( $cmd ); my $scom = $icom; if( exists( $Defined{$icom} ) ){ $pdef = $Defined{$icom}; if( $pdef =~ /^ #(\d+)/ ){ $pfil = 'expression #'; $plin = $1; } else { $pfil = "$pdef l."; $plin = 1; } } else { $plin++; } my $fl = "$pfil$plin"; # insert command as comment in gnerated code # $Code .= "# $cmd\n" if $doGenerate; # The Address(es) # my( $negated, $naddr, $addr1, $addr2 ); $naddr = 0; if( $cmd =~ s/^(\d+)\s*// ){ $addr1 = "$1"; $naddr++; } elsif( $cmd =~ s/^\$\s*// ){ $addr1 = 'eofARGV()'; $naddr++; } elsif( $cmd =~ s{^(/)}{} || $cmd =~ s{^\\(.)}{} ){ my $del = $1; my $regex = stripRegex( $del, \$cmd ); if( defined( $regex ) ){ $addr1 = 'm '.bre2p( $del, $regex, $fl ).'s'; $naddr++; } else { Warn( "malformed regex, 1st address", $fl ); $error++; next; } } if( defined( $addr1 ) && $cmd =~ s/,\s*// ){ if( $cmd =~ s/^(\d+)\s*// ){ $addr2 = "$1"; $naddr++; } elsif( $cmd =~ s/^\$\s*// ){ $addr2 = 'eofARGV()'; $naddr++; } elsif( $cmd =~ s{^(/)}{} || $cmd =~ s{^\\(.)}{} ){ my $del = $1; my $regex = stripRegex( $del, \$cmd ); if( defined( $regex ) ){ $addr2 = 'm '. bre2p( $del, $regex, $fl ).'s'; $naddr++; } else { Warn( "malformed regex, 2nd address", $fl ); $error++; next; } } else { Warn( "invalid address after `,'", $fl ); $error++; next; } } # address modifier `!' # $negated = $cmd =~ s/^!\s*//; if( defined( $addr1 ) ){ print "Parse: addr1=$addr1" if $useDEBUG; if( defined( $addr2 ) ){ print ", addr2=$addr2 " if $useDEBUG; # both numeric and addr1 > addr2 => eliminate addr2 undef( $addr2 ) if $addr1 =~ /^\d+$/ && $addr2 =~ /^\d+$/ && $addr1 > $addr2; } } print 'negated' if $useDEBUG && $negated; print " command:$cmd\n" if $useDEBUG; # The Command # if( $cmd !~ s/^([:#={}abcdDgGhHilnNpPqrstwxy])\s*// ){ my $h = substr( $cmd, 0, 1 ); Warn( "unknown command `$h'", $fl ); $error++; next; } my $key = $1; my $tabref = $ComTab{$key}; $GenKey{$key} = 1; if( $naddr > $tabref->[0] ){ Warn( "excess address(es)", $fl ); $error++; next; } my $arg = ''; if( $tabref->[1] eq 'str' ){ # take remainder - don't care if it is empty $arg = $cmd; $cmd = ''; } elsif( $tabref->[1] eq 'txt' ){ # multi-line text my $goon = $cmd =~ /(.*)\\$/; if( length( $1 ) ){ Warn( "extra characters after command ($cmd)", $fl ); $error++; } while( $goon ){ $icom++; if( $icom > $#Commands ){ Warn( "unexpected end of script", $fl ); $error++; last; } $cmd = $Commands[$icom]; $Code .= "# $cmd\n" if $doGenerate; $goon = $cmd =~ s/\\$//; $cmd =~ s/\\(.)/$1/g; $arg .= "\n" if length( $arg ); $arg .= $cmd; } $arg .= "\n" if length( $arg ); $cmd = ''; } elsif( $tabref->[1] eq 'sub' ){ # s/// if( ! length( $cmd ) ){ Warn( "`s' command requires argument", $fl ); $error++; next; } if( $cmd =~ s{^([^\\\n])}{} ){ my $del = $1; my $regex = stripRegex( $del, \$cmd, "s" ); if( ! defined( $regex ) ){ Warn( "malformed regular expression", $fl ); $error++; next; } $regex = bre2p( $del, $regex, $fl ); # a trailing \ indicates embedded NL (in replacement string) while( $cmd =~ s/(?<!\\)\\$/\n/ ){ $icom++; if( $icom > $#Commands ){ Warn( "unexpected end of script", $fl ); $error++; last; } $cmd .= $Commands[$icom]; $Code .= "# $Commands[$icom]\n" if $doGenerate; } my $subst = stripRegex( $del, \$cmd ); if( ! defined( $regex ) ){ Warn( "malformed substitution expression", $fl ); $error++; next; } $subst = sub2p( $del, $subst, $fl ); # parse s/// modifier: g|p|0-9|w <file> my( $global, $nmatch, $print, $write ) = ( '', '', 0, undef ); while( $cmd =~ s/^([gp0-9])// ){ $1 eq 'g' ? ( $global = 'g' ) : $1 eq 'p' ? ( $print = $1 ) : ( $nmatch .= $1 ); } $write = $1 if $cmd =~ s/w\s*(.*)$//; ### $nmatch =~ s/^(\d)\1*$/$1/; ### may be dangerous? if( $global && length( $nmatch ) || length( $nmatch ) > 1 ){ Warn( "conflicting flags `$global$nmatch'", $fl ); $error++; next; } $arg = makes( $regex, $subst, $write, $global, $print, $nmatch, $fl ); if( ! defined( $arg ) ){ $error++; next; } } else { Warn( "improper delimiter in s command", $fl ); $error++; next; } } elsif( $tabref->[1] eq 'tra' ){ # y/// # a trailing \ indicates embedded newline while( $cmd =~ s/(?<!\\)\\$/\n/ ){ $icom++; if( $icom > $#Commands ){ Warn( "unexpected end of script", $fl ); $error++; last; } $cmd .= $Commands[$icom]; $Code .= "# $Commands[$icom]\n" if $doGenerate; } if( ! length( $cmd ) ){ Warn( "`y' command requires argument", $fl ); $error++; next; } my $d = substr( $cmd, 0, 1 ); $cmd = substr( $cmd, 1 ); if( $d eq '\\' ){ Warn( "`\\' not valid as delimiter in `y' command", $fl ); $error++; next; } my $fr = stripTrans( $d, \$cmd ); if( ! defined( $fr ) || ! length( $cmd ) ){ Warn( "malformed `y' command argument", $fl ); $error++; next; } my $to = stripTrans( $d, \$cmd ); if( ! defined( $to ) ){ Warn( "malformed `y' command argument", $fl ); $error++; next; } if( length($fr) != length($to) ){ Warn( "string lengths in `y' command differ", $fl ); $error++; next; } if( ! defined( $arg = makey( $fr, $to, $fl ) ) ){ $error++; next; } } # $cmd must be now empty - exception is { if( $cmd !~ /^\s*$/ ){ if( $key eq '{' ){ # dirty hack to process command on '{' line $Commands[$icom--] = $cmd; } else { Warn( "extra characters after command ($cmd)", $fl ); $error++; next; } } # Make Code # if( &{$tabref->[2]}( $addr1, $addr2, $negated, $tabref->[3], $arg, $fl ) ){ $error++; } } while( @BlockStack ){ my $bl = pop( @BlockStack ); Warn( "start of unterminated `{'", $bl ); $error++; } for my $lab ( keys( %Label ) ){ if( ! exists( $Label{$lab}{defined} ) ){ for my $used ( @{$Label{$lab}{used}} ){ Warn( "undefined label `$lab'", $used ); $error++; } } } exit( 1 ) if $error; } ############## #### MAIN #### ############## sub usage(){ print STDERR "Usage: sed [-an] command [file...]\n"; print STDERR " [-an] [-e command] [-f script-file] [file...]\n"; } ################### # Here we go again... # my $expr = 0; while( @ARGV && $ARGV[0] =~ /^-(.)(.*)$/ ){ my $opt = $1; my $arg = $2; shift( @ARGV ); if( $opt eq 'e' ){ if( length( $arg ) ){ push( @Commands, split( "\n", $arg ) ); } elsif( @ARGV ){ push( @Commands, shift( @ARGV ) ); } else { Warn( "option -e requires an argument" ); usage(); exit( 1 ); } $expr++; $Defined{$#Commands} = " #$expr"; next; } if( $opt eq 'f' ){ my $path; if( length( $arg ) ){ $path = $arg; } elsif( @ARGV ){ $path = shift( @ARGV ); } else { Warn( "option -f requires an argument" ); usage(); exit( 1 ); } my $fst = $#Commands + 1; open( SCRIPT, "<$path" ) || die( "$0: $path: could not open ($!)\n" ); my $cmd; while( defined( $cmd = <SCRIPT> ) ){ chomp( $cmd ); push( @Commands, $cmd ); } close( SCRIPT ); if( $#Commands >= $fst ){ $Defined{$fst} = "$path"; } next; } if( $opt eq '-' && $arg eq '' ){ last; } if( $opt eq 'h' || $opt eq '?' ){ usage(); exit( 0 ); } if( $opt eq 'n' ){ $doAutoPrint = 0; } elsif( $opt eq 'a' ){ $doOpenWrite = 0; } else { Warn( "illegal option `$opt'" ); usage(); exit( 1 ); } if( length( $arg ) ){ unshift( @ARGV, "-$arg" ); } } # A singleton command may be the 1st argument when there are no options. # if( @Commands == 0 ){ if( @ARGV == 0 ){ Warn( "no script command given" ); usage(); exit( 1 ); } push( @Commands, split( "\n", shift( @ARGV ) ) ); $Defined{0} = ' #1'; } print STDERR "Files: @ARGV\n" if $useDEBUG; # generate leading code # $Func = <<'[TheEnd]'; # openARGV: open 1st input file # sub openARGV(){ unshift( @ARGV, '-' ) unless @ARGV; my $file = shift( @ARGV ); open( ARG, "<$file" ) || die( "$0: can't open $file for reading ($!)\n" ); $isEOF = 0; } # getsARGV: Read another input line into argument (default: $_). # Move on to next input file, and reset EOF flag $isEOF. sub getsARGV(;\$){ my $argref = @_ ? shift() : \$_; while( $isEOF || ! defined( $$argref = <ARG> ) ){ close( ARG ); return 0 unless @ARGV; my $file = shift( @ARGV ); open( ARG, "<$file" ) || die( "$0: can't open $file for reading ($!)\n" ); $isEOF = 0; } 1; } # eofARGV: end-of-file test # sub eofARGV(){ return @ARGV == 0 && ( $isEOF = eof( ARG ) ); } # makeHandle: Generates another file handle for some file (given by its path) # to be written due to a w command or an s command's w flag. sub makeHandle($){ my( $path ) = @_; my $handle; if( ! exists( $wFiles{$path} ) || $wFiles{$path} eq '' ){ $handle = $wFiles{$path} = gensym(); if( $doOpenWrite ){ if( ! open( $handle, ">$path" ) ){ die( "$0: can't open $path for writing: ($!)\n" ); } } } else { $handle = $wFiles{$path}; } return $handle; } # printQ: Print queued output which is either a string or a reference # to a pathname. sub printQ(){ for my $q ( @Q ){ if( ref( $q ) ){ # flush open w files so that reading this file gets it all if( exists( $wFiles{$$q} ) && $wFiles{$$q} ne '' ){ open( $wFiles{$$q}, ">>$$q" ); } # copy file to stdout: slow, but safe if( open( RF, "<$$q" ) ){ while( defined( my $line = <RF> ) ){ print $line; } close( RF ); } } else { print $q; } } undef( @Q ); } [TheEnd] # generate the sed loop # $Code .= <<'[TheEnd]'; sub openARGV(); sub getsARGV(;\$); sub eofARGV(); sub printQ(); # Run: the sed loop reading input and applying the script # sub Run(){ my( $h, $icnt, $s, $n ); # hack (not unbreakable :-/) to avoid // matching an empty string my $z = "\000"; $z =~ /$z/; # Initialize. openARGV(); $Hold = ''; $CondReg = 0; $doPrint = $doAutoPrint; CYCLE: while( getsARGV() ){ chomp(); $CondReg = 0; # cleared on t BOS:; [TheEnd] # parse - avoid opening files when doing s2p # ( $svOpenWrite, $doOpenWrite ) = ( $doOpenWrite, $svOpenWrite ) if $doGenerate; Parse(); ( $svOpenWrite, $doOpenWrite ) = ( $doOpenWrite, $svOpenWrite ) if $doGenerate; # append trailing code # $Code .= <<'[TheEnd]'; EOS: if( $doPrint ){ print $_, "\n"; } else { $doPrint = $doAutoPrint; } printQ() if @Q; } exit( 0 ); } [TheEnd] # append optional functions, prepend prototypes # my $Proto = "# prototypes\n"; if( $GenKey{'l'} ){ $Proto .= "sub _l();\n"; $Func .= <<'[TheEnd]'; # _l: l command processing # sub _l(){ my $h = $_; my $mcpl = 70; # transform non printing chars into escape notation $h =~ s/\\/\\\\/g; if( $h =~ /[^[:print:]]/ ){ $h =~ s/\a/\\a/g; $h =~ s/\f/\\f/g; $h =~ s/\n/\\n/g; $h =~ s/\t/\\t/g; $h =~ s/\r/\\r/g; $h =~ s/\e/\\e/g; $h =~ s/([^[:print:]])/sprintf("\\%03o", ord($1))/ge; } # split into lines of length $mcpl while( length( $h ) > $mcpl ){ my $l = substr( $h, 0, $mcpl-1 ); $h = substr( $h, $mcpl ); # remove incomplete \-escape from end of line if( $l =~ s/(?<!\\)(\\[0-7]{0,2})$// ){ $h = $1 . $h; } print $l, "\\\n"; } print "$h\$\n"; } [TheEnd] } if( $GenKey{'r'} ){ $Proto .= "sub _r(\$);\n"; $Func .= <<'[TheEnd]'; # _r: r command processing: Save a reference to the pathname. # sub _r($){ my $path = shift(); push( @Q, \$path ); } [TheEnd] } if( $GenKey{'t'} ){ $Proto .= "sub _t();\n"; $Func .= <<'[TheEnd]'; # _t: t command - condition register test/reset # sub _t(){ my $res = $CondReg; $CondReg = 0; $res; } [TheEnd] } if( $GenKey{'w'} ){ $Proto .= "sub _w(\$);\n"; $Func .= <<'[TheEnd]'; # _w: w command and s command's w flag - write to file # sub _w($){ my $path = shift(); my $handle = $wFiles{$path}; if( ! $doOpenWrite && ! defined( fileno( $handle ) ) ){ open( $handle, ">$path" ) || die( "$0: $path: cannot open ($!)\n" ); } print $handle $_, "\n"; } [TheEnd] } $Code = $Proto . $Code; # magic "#n" - same as -n option # $doAutoPrint = 0 if substr( $Commands[0], 0, 2 ) eq '#n'; # eval code - check for errors # print "Code:\n$Code$Func" if $useDEBUG; eval $Code . $Func; if( $@ ){ print "Code:\n$Code$Func"; die( "$0: internal error - generated incorrect Perl code: $@\n" ); } if( $doGenerate ){ # write full Perl program # # bang line, declarations, prototypes print <<TheEnd; #!$perlpath -w eval 'exec $perlpath -S \$0 \${1+"\$@"}' if 0; \$0 =~ s/^.*?(\\w+)\[\\.\\w+\]*\$/\$1/; use strict; use Symbol; use vars qw{ \$isEOF \$Hold \%wFiles \@Q \$CondReg \$doAutoPrint \$doOpenWrite \$doPrint }; \$doAutoPrint = $doAutoPrint; \$doOpenWrite = $doOpenWrite; TheEnd my $wf = "'" . join( "', '", keys( %wFiles ) ) . "'"; if( $wf ne "''" ){ print <<TheEnd; sub makeHandle(\$); for my \$p ( $wf ){ exit( 1 ) unless makeHandle( \$p ); } TheEnd } print $Code; print "Run();\n"; print $Func; exit( 0 ); } else { # execute: make handles (and optionally open) all w files; run! for my $p ( keys( %wFiles ) ){ exit( 1 ) unless makeHandle( $p ); } Run(); } =head1 ENVIRONMENT The environment variable C<PSEDEXTBRE> may be set to extend BREs. See L<"Additional Atoms">. =head1 DIAGNOSTICS =over 4 =item ambiguous translation for character `%s' in `y' command The indicated character appears twice, with different translations. =item `[' cannot be last in pattern A `[' in a BRE indicates the beginning of a I<bracket expression>. =item `\' cannot be last in pattern A `\' in a BRE is used to make the subsequent character literal. =item `\' cannot be last in substitution A `\' in a subsitution string is used to make the subsequent character literal. =item conflicting flags `%s' In an B<s> command, either the `g' flag and an n-th occurrence flag, or multiple n-th occurrence flags are specified. Note that only the digits `1' through `9' are permitted. =item duplicate label %s (first defined at %s) =item excess address(es) The command has more than the permitted number of addresses. =item extra characters after command (%s) =item illegal option `%s' =item improper delimiter in s command The BRE and substitution may not be delimited with `\' or newline. =item invalid address after `,' =item invalid backreference (%s) The specified backreference number exceeds the number of backreferences in the BRE. =item invalid repeat clause `\{%s\}' The repeat clause does not contain a valid integer value, or pair of values. =item malformed regex, 1st address =item malformed regex, 2nd address =item malformed regular expression =item malformed substitution expression =item malformed `y' command argument The first or second string of a B<y> command is syntactically incorrect. =item maximum less than minimum in `\{%s\}' =item no script command given There must be at least one B<-e> or one B<-f> option specifying a script or script file. =item `\' not valid as delimiter in `y' command =item option -e requires an argument =item option -f requires an argument =item `s' command requires argument =item start of unterminated `{' =item string lengths in `y' command differ The translation table strings in a B<y> command must have equal lengths. =item undefined label `%s' =item unexpected `}' A B<}> command without a preceding B<{> command was encountered. =item unexpected end of script The end of the script was reached although a text line after a B<a>, B<c> or B<i> command indicated another line. =item unknown command `%s' =item unterminated `[' A BRE contains an unterminated bracket expression. =item unterminated `\(' A BRE contains an unterminated backreference. =item `\{' without closing `\}' A BRE contains an unterminated bounds specification. =item `\)' without preceding `\(' =item `y' command requires argument =back =head1 EXAMPLE The basic material for the preceding section was generated by running the sed script #no autoprint s/^.*Warn( *"\([^"]*\)".*$/\1/ t process b :process s/$!/%s/g s/$[_[:alnum:]]\{1,\}/%s/g s/\\\\/\\/g s/^/=item / p on the program's own text, and piping the output into C<sort -u>. =head1 SED SCRIPT TRANSLATION If this program is invoked with the name F<s2p> it will act as a sed-to-Perl translator. After option processing (all other arguments are ignored), a Perl program is printed on standard output, which will process the input stream (as read from all arguments) in the way defined by the sed script and the option setting used for the translation. =head1 SEE ALSO perl(1), re_format(7) =head1 BUGS The B<l> command will show escape characters (ESC) as `C<\e>', but a vertical tab (VT) in octal. Trailing spaces are truncated from labels in B<:>, B<t> and B<b> commands. The meaning of an empty regular expression (`C<//>'), as defined by B<sed>, is "the last pattern used, at run time". This deviates from the Perl interpretation, which will re-use the "last last successfully executed regular expression". Since keeping track of pattern usage would create terribly cluttered code, and differences would only appear in obscure context (where other B<sed> implementations appear to deviate, too), the Perl semantics was adopted. Note that common usage of this feature, such as in C</abc/s//xyz/>, will work as expected. Collating elements (of bracket expressions in BREs) are not implemented. =head1 STANDARDS This B<sed> implementation conforms to the IEEE Std1003.2-1992 ("POSIX.2") definition of B<sed>, and is compatible with the I<OpenBSD> implementation, except where otherwise noted (see L<"BUGS">). =head1 AUTHOR This Perl implementation of I<sed> was written by Wolfgang Laun, I<Wolfgang.Laun@alcatel.at>. =head1 COPYRIGHT and LICENSE This program is free and open software. You may use, modify, distribute, and sell this program (and any modified variants) in any way you wish, provided you do not restrict others from doing the same. =cut
Close