inital P01 version published - Instructions are available under Moodle
This commit is contained in:
parent
a7eda8d4b2
commit
2e878d8489
|
@ -0,0 +1,26 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# produces a tabular output of all executables as found over the $PATH environment variable
|
||||||
|
# - output format: [1-based index of $PATH entry]:[$PATH entry]:[name of the executable]
|
||||||
|
# - e.g. 6:/bin:bash
|
||||||
|
# - the first argument (if given) is used as alternative to $PATH (e.g. for testing purposes)
|
||||||
|
# usage: ./get-exec-list-arg.sh # examines $PATH
|
||||||
|
# usage: ./get-exec-list-arg.sh "$PATH" # equivalent to the above call
|
||||||
|
# usage: ./get-exec-list-arg.sh ".:~/bin" # examines the current directory (.) and ~/bin
|
||||||
|
|
||||||
|
# argument handling
|
||||||
|
path="$1"
|
||||||
|
[ -n "$path" ] || path="$PATH"
|
||||||
|
|
||||||
|
# input-field-separator: tells the shell to split in the 'for' loop the $var by ":"
|
||||||
|
IFS=":"
|
||||||
|
|
||||||
|
for p in $path
|
||||||
|
do
|
||||||
|
i=$((i+1))
|
||||||
|
[ -n "$p" ] || p="."
|
||||||
|
if [ -d "$p" ] && [ -x "$p" ]
|
||||||
|
then
|
||||||
|
find -L "$p" -maxdepth 1 -type f -executable -printf "$i:%h:%f\n" 2>/dev/null
|
||||||
|
fi
|
||||||
|
done
|
|
@ -0,0 +1,35 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# produces a crude HTML table from a tabular file (given on stdin) with columns separated by ":"
|
||||||
|
# usage: tab2html < inbut.txt > output.html
|
||||||
|
|
||||||
|
awk $* -- '
|
||||||
|
BEGIN {
|
||||||
|
FS=":" # field-separator: which character separats fields in a record (i.e. in a line)
|
||||||
|
print "<!DOCTYPE html>"
|
||||||
|
print "<html>"
|
||||||
|
print " <head>"
|
||||||
|
print " <style>"
|
||||||
|
print " table{border:1px solid black;border-collapse:collapse;}"
|
||||||
|
print " tr:nth-child(even){background-color: #f2f2f2;}"
|
||||||
|
print " td{border:1px solid black;padding:15px;}"
|
||||||
|
print " </style>"
|
||||||
|
print " <title>Tabular Data</title>"
|
||||||
|
print " </head>"
|
||||||
|
print " <body>"
|
||||||
|
print " <div style=\"overflow-x:auto;\">"
|
||||||
|
print " <table>"
|
||||||
|
}
|
||||||
|
{
|
||||||
|
print " <tr>"
|
||||||
|
for (i = 1; i <= NF; i++) { print " <td>"$i"</td>" }
|
||||||
|
print " </tr>"
|
||||||
|
}
|
||||||
|
END {
|
||||||
|
print " </table>"
|
||||||
|
print " </div>"
|
||||||
|
print " </body>"
|
||||||
|
print "</html>"
|
||||||
|
}
|
||||||
|
'
|
||||||
|
|
|
@ -0,0 +1,21 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# produces an XML file from a tabular file (given on stdin) with columns separated by ":"
|
||||||
|
# usage: tab2xml < inbut.txt > output.xml
|
||||||
|
|
||||||
|
awk $* -- '
|
||||||
|
BEGIN {
|
||||||
|
FS=":" # field-separator: which character separats fields in a record (i.e. in a line)
|
||||||
|
print "<?xml version=\"1.0\" standalone=\"yes\"?>"
|
||||||
|
print "<Table>"
|
||||||
|
}
|
||||||
|
{
|
||||||
|
print " <Row>"
|
||||||
|
for (i = 1; i <= NF; i++) { print " <Col>"$i"</Col>" }
|
||||||
|
print " </Row>"
|
||||||
|
}
|
||||||
|
END {
|
||||||
|
print "</Table>"
|
||||||
|
}
|
||||||
|
'
|
||||||
|
|
Loading…
Reference in New Issue