staging.inyokaproject.org

Wir basteln uns ein Find Frontend

Status: Ungelöst | Ubuntu-Version: Kein Ubuntu
Antworten |

Marantkurz

Anmeldungsdatum:
7. September 2023

Beiträge: 941

Keine Ahnung, ob die Art des Fadens im Forum ankommt, ich probiere es einfalch mal.

Resultiert aus Beitrag in Baustelle/find.

Ich werde das so(in Etappen) schreiben, dass es Jeder gut nachvollziehen kann. Wer was hinzuzufügen hat, zur zu.

Falls bisher eine Berührung mit YAD eher nix war, dann vllt. jetzt.

Hier ist erst mal eine Eingabemaske, erstellt durch YAD (vllt. passt aufgebohrtes Zenity)

https://packages.ubuntu.com/noble/yad

 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
#!/bin/bash
if [ "$1" ]; then
	if [ -d "$1" ]; then
		dir="$1"
		echo "$dir" > ~/.cache/dir-selektiert
	fi
else
	read dir < ~/.cache/dir-selektiert
fi
#notify-send "$dir"

yadeingabe=$(yad --title="Dateien suchen - Muster eingeben" \
--width=500 --center --borders=40 --buttons-layout=center \
--form --selectable-labels \
--separator=";" \
--text="wiki.ubuntuusers.de/find/\n-mmin -20\n-mtime -3   # jünger als 3 Tage, + und - kann gesetzt werden\n-n-amin -5   # sucht nach Dateien, auf die zuletzt vor n bis n+1 zugegriffen (a=accessed)\n-size +512k  -size +100M  -size +1G" \
--field=Muster "**" \
--field=Param "" \
--field="Groß Kleinschreibung ignorieren:CHK" true \
--field="Tiefe:NUM" 0 \
--field="Ordner:DIR" "$dir" \
--field="Anwen:CBE" wunscheditor\!mpv\!okular\!gwenview\!vlc\!audacious\!xdg-open \
--field="Bilder:CHK" false \
--field="Video:CHK" false \
--field="Audio:CHK" false \
--field="Dokumente:CHK" false \
--button="kfind":"kfind" \
--button="Catfish":"catfish" \
--button="Beenden":1 \
--button="OK":0)
ret=$?;if ! [ "$ret" -eq "0" ]; then exit;fi
muster=$(echo "$yadeingabe" | awk -F ";" {'print $1'})
parameter=$(echo "$yadeingabe" | awk -F ";" {'print $2'})
namegrossklein=$(echo "$yadeingabe" | awk -F ";" {'print $3'})
tiefe=$(echo "$yadeingabe" | awk -F ";" {'print $4'})
ordner=$(echo "$yadeingabe" | awk -F ";" {'print $5'})
anwendung=$(echo "$yadeingabe" | awk -F ";" {'print $6'})
bilder=$(echo "$yadeingabe" | awk -F ";" {'print $7'})
video=$(echo "$yadeingabe" | awk -F ";" {'print $8'})
audio=$(echo "$yadeingabe" | awk -F ";" {'print $9'})
text=$(echo "$yadeingabe" | awk -F ";" {'print $10'})

echo "$ordner" > ~/.cache/dir-selektiert

Der gesamte Code kann ins Terminal kopiert und getestet werden. Die Ausgaben wie

echo "$yadeingabe"
echo "$parameter"
echo "$ordner"
#usw.

wären dann das Wichtige."dir" zu Anfang des Scriptes ist der Ordnerpfad der zu Beginn ausgelesen/gesetzt wird. So ist bei Wiederaufruf des Scriptes der letzte Pfad verfügbar.(echo "$ordner";echo "$dir") Das Script kann was den Ordnerpfad betrifft, sowohl per Terminalübergabe, als auch vom Dateimanager aus aufgerufen werden.

Moderiert von tomtomtom:

Aus dem Supportbereich verschoben, da keine Supportfrage vorhanden.

Antworten |