-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdls
executable file
·52 lines (45 loc) · 1.67 KB
/
dls
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
#!/bin/bash
if [ $# == 0 ]; then
docker ps -a
elif [ "$1" == "-a" ]; then
docker ps -a | awk 'NR > 1{print $1}'
elif [ "$1" == "-l" ]; then
docker ps
elif [ "$1" == "-ll" ]; then
# docker ps | awk 'NR > 1{print $1}'
docker ps -q
elif [ "$1" == "-i" ]; then
dls -l | awk 'NR > 1 {print $2}' | awk '!NF {print;next} !($0 in a) {a[$0];print}'
elif [ "$1" == "-id" -o "$1" == "-di" ]; then
all_container_images=$(dls -i)
for item in ${all_container_images[*]}
do
dil | awk 'NR > 1 && $1":"$2 == "'"$item"'" {print $3}'
done
elif [ "$1" == "-ni" -o "$1" == "-in" ]; then
all_live_images=$(dls -i)
tmp=$(for item in ${all_live_images[*]}
do
dil | awk 'NR > 1 && $1":"$2 != "'"$item"'" {print $1":"$2}'
#all_images=${all_images[@]/$tmp}
#echo $all_images
done)
# echo $tmp
echo $tmp | sed s/\ /\\n/g | awk '!NF {print;next} !($0 in a) {a[$0];print}'
elif [ "$1" == "-dni" -o "$1" == "-din" -o "$1" == "-ndi" -o "$1" == "-idn" -o "$1" == "-nid" -o "$1" == "-ind" ]; then
all_live_images=$(dls -i)
for item in ${all_live_images[*]}
do
dil | awk 'NR > 1 && $1":"$2 != "'"$item"'" {print $3}'
done
elif [ "$1" == "-ai" -o "$1" == "-ia" ]; then
dls | awk 'NR > 1 {print $2}' | awk '!NF {print;next} !($0 in a) {a[$0];print}'
elif [ "$1" == "-dai" -o "$1" == "-dia" -o "$1" == "-adi" -o "$1" == "-ida" -o "$1" == "-aid" -o "$1" == "-iad" ]; then
all_container_images=$(dls -ai)
for item in ${all_container_images[*]}
do
dil | awk 'NR > 1 && $1":"$2 == "'"$item"'" {print $3}'
done
elif [ $# -gt 0 ]; then
docker ps -a $*
fi