blob: 0077757295b6e8810283f9eaf19a25ea00187f81 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
|
#!/bin/sh
# wtf <file identifier>
#
# or
#
# wtf $arch <file identifier>
#
# where <file identifier> is on of:
#
# $filename
# /$full/$path/$to/$file
# $partial/$path/$to/$file
base_dir=$(
readlink -f "${0%/*}/.."
)
case $1 in
'i486')
arch='i486'
shift
;;
'i686')
arch='i686'
shift
;;
*)
arch='i686'
;;
esac
search="$*"
pkgfile -w \
-C "${base_dir}/misc/pacman-${arch}.conf" \
-D "${base_dir}/work/pkgfile-${arch}.cache" \
-s "${search##*/}" | \
xargs -rn1 \
pkgfile -w \
-C "${base_dir}/misc/pacman-${arch}.conf" \
-D "${base_dir}/work/pkgfile-${arch}.cache" \
-l | \
if printf '%s\n' "${search}" | \
grep -q '^/'; then
grep -w "${search}"
else
grep "/${search}\\(/\\|\$\\)"
fi | \
sort -k2,2 | \
sed '
s,^\([^/[:space:]]\+\)/\([^/[:space:]]\+\)\s\(\S.*\)$,\2 [\1]: \3,
' | \
sed '
:a
$!N
s#^\(\([^/:[:space:]]\+ [^/:[:space:]]\+, \)*[^/:[:space:]]\+ [^/:[:space:]]\+\): \([^\n]\+\)\n\([^/:[:space:]]\+ [^/:[:space:]]\+\): \3$#\1, \4: \3#
ta
P
D
'
|