staging.inyokaproject.org

Skripte

Status: Gelöst | Ubuntu-Version: Nicht spezifiziert
Antworten |
Dieses Thema ist die Diskussion des Artikels Skripte.

jo-master

Avatar von jo-master

Anmeldungsdatum:
17. Juli 2010

Beiträge: 95

naja, das könnte ich schon. aber ich glaube kaum, dass es sich lohnt ein paar einfache nautilus-skripte in ein deb-paket zupacken.

u1000

Anmeldungsdatum:
2. Oktober 2011

Beiträge: 1850

Hallo,

die Beispiele sind super !

Für mich wäre noch hilfreich, wo man eigene Scripte dann in seinem System am besten ablegt und es so einrichtet, dass man sie aus jedem Pfad starten kann.

Vielleicht könnte man im Wiki Artikel Skripte hier noch einen einleitenden Satz zur gängigen Praxis schreiben ?

vielen Dank

u1000

aasche

Anmeldungsdatum:
30. Januar 2006

Beiträge: 14259

u1000 schrieb:

Für mich wäre noch hilfreich, wo man eigene Scripte dann in seinem System am besten ablegt und es so einrichtet, dass man sie aus jedem Pfad starten kann.

Traditionell werden (zumindest fuer Shell-Skripte)

  • ~/bin/ (fuer einen Benutzer) oder

  • /usr/local/bin/ (systemweit)

verwendet.

Vielleicht könnte man im Wiki Artikel Skripte hier noch einen einleitenden Satz zur gängigen Praxis schreiben ?

Es handelt sich um eine reine Uebersichtsseite. Solche Details sollten eigentlich unter Shell zu finden sein (was derzeit nicht moeglich zu sein scheint...).

u1000

Anmeldungsdatum:
2. Oktober 2011

Beiträge: 1850

aasche schrieb:

  • ~/bin/ (fuer einen Benutzer) oder

Ja, danke.

habe jetzt auch gesehen, dass der Pfad dann automatisch in den Suchpfad afgenommen wird:

.profile

# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
    PATH="$HOME/bin:$PATH"
fi

CyberPatrol

Avatar von CyberPatrol

Anmeldungsdatum:
29. Dezember 2007

Beiträge: 228

Hallo

Ich Suche nützliche Bash-Scripte.

Sollte jenamd ein oder mehrere Scripte haben Bitte hier posten.

Vieleicht kommt Eine Sammlung von nützlichen Bash-Scripten zusammen

DANKE

Moderiert von jug:

Das Thema passt wirklich besser an die Diskussion zum Wiki-Artikel Skripte, und da ist das Thema jetzt auch angehängt.

jug Team-Icon

Ehemalige
Avatar von jug

Anmeldungsdatum:
19. März 2007

Beiträge: 12335

Du meinst sowas, wie in unserem Wiki? Skripte 😀

Ich finde die Fragestellung ziemlich unspezifisch, vielleicht kannst du noch etwas mehr ins Detail gehen, worauf genau du aus bist. Bis jetzt scheint das hier noch nicht wirklich rein zu passen, sondern eher zu der Diskussion zu besagtem Wiki-Artikel zu gehören.

~jug

track

Avatar von track

Anmeldungsdatum:
26. Juni 2008

Beiträge: 7174

CyberPatrol schrieb:

Ich Suche nützliche Bash-Scripte.

Wenn es Dir auf die reine Menge ankommt, dann wirft Dir die Suchmaschine Deines Vertrauens Tausende davon hier auf dem Forum aus.

Sollte jenamd ein oder mehrere Scripte haben Bitte hier posten.

Wozu sollte ich alle Skripte, die ich je hier auf dem Forum veröffentlicht habe, hier nochmal dumpen ? - das würde nur Entropie erzeugen, und die zugehörigen Beschreibungen und Erklärungen würden dabei fehlen. Oder willst Du, dass ich die hier auch nochmal dumpe ? 😈

LG,

track

user_unknown

Avatar von user_unknown

Anmeldungsdatum:
10. August 2005

Beiträge: 17432

Hier ist ein Forum (🇬🇧). Ich wollte eine Suche hier im Forum nach "bash" präsentieren, aber oh Wunder - 0 Treffer!

Ich dachte es sei vielleicht so, dass die Wortlänge zu kurz ist, und man mindestens soundsoviel Zeichen angeben muss, aber auf der verlinkten Hilfeseite steht nichts dazu, und es gibt gar ein Suchbeispiel mit "c++", ein anderes mit "OS X", ohne Anführungsstriche!

python wird auch nicht gefunden. Bei Bash hätte ich ja noch erwartet es könne auf einer schwarzen Liste stehen, weil es zu häufig ist.

Aber zu C++ wird auch nichts gefunden - womöglich ist die Suche gerade kaputt und wird überarbeitet.

Gib bei Google:

 bash site:http://forum.ubuntuusers.de

ein.

FrancisA

Anmeldungsdatum:
11. Dezember 2006

Beiträge: 965

Ich denke, die nützlichsten sind die, die man selbst schreibt.

Erstens lernt man dadurch, zweitens sind die dann total auf die persönlichen Bedürfnisse abgestimmt, drittens kann man sie leichter erweitern, weil man den (eigenen) source eben schon gut kennt. Ich suche (und habe) öfters nach sourcen gesucht, und die dann für mich angepasst.

Das Lesen von anderen Sourcecodes ist jedenfalls immer interessant und lehrreich.

march Team-Icon

Avatar von march

Anmeldungsdatum:
12. Juni 2005

Beiträge: 17329

Ein paar nützliche Skripte für meine Musiksammlung. Keines davon wurde von mir geschrieben, da meine Kenntnisse sehr rudimentär sind. Ich kann lediglich ersehen ob sie was für meinen Einsatzzweck taugen...

m3ucreate.sh

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
#!/bin/bash
INPUTDIR="$1"
cd "$INPUTDIR"
INPUTDIR="$PWD"
cd "$OLDPWD"
filedir=""
OLDIFS="$IFS"
IFS=$'\n'
for filepath in $(find $INPUTDIR -type f -name '*.mp3' -print | sort); do
  IFS="$OLDIFS"
  oldfiledir="$filedir"
  filedir="$(dirname "$filepath")"
  filename="$(basename "$filepath")"
  if [ "$oldfiledir" = "$filedir" ]; then
    echo $filename >> "$filedir/$(echo $filedir | awk -F/ '{ print $(NF-1) " - " $NF }').m3u"
       else
         rm -f "$filedir/$(echo $filedir | awk -F/ '{ print $(NF-1) " - " $NF }').m3u"
        echo $filename > "$filedir/$(echo $filedir | awk -F/ '{ print $(NF-1) " - " $NF }').m3u"
  fi
done
exit

m3uremove.sh

1
2
3
4
#!/bin/bash
INPUTDIR="$1"
find $INPUTDIR -type f -name '*.m3u' -delete
exit

coversuche.sh

aus dem Forum:

 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
#!/bin/sh
# the next line restarts using wish \
exec tclsh "$0" "$@"

package require fileutil

set source "/home/USER/Musik/"
set destination "/home/USER/Test"
set patterns [list "Cover.jpg" "cover.jpg"]

set items [fileutil::findByPattern $source -- $patterns]

foreach item $items {
    set splitItem [file split $item]
    set target [file join $destination \
            [join \
                    [list \
                           [lindex $splitItem end-2]- \
                           [lindex $splitItem end-1]- \
                           [lindex $splitItem end]
                    ] {}
            ]
    ]
    file copy $item $target
} 

Benötigt werden die Pakete: tcl und tcllib.

diesch Team-Icon

Avatar von diesch

Anmeldungsdatum:
18. Februar 2009

Beiträge: 5072

Ich habe unter http://www.florian-diesch.de/software/shell-scripts/ ein paar Shell-Skripts veröffentlicht, die vielleicht auch für andere nützlich sind.

track

Avatar von track

Anmeldungsdatum:
26. Juni 2008

Beiträge: 7174

march schrieb:

Ein paar nützliche Skripte für meine Musiksammlung. Keines davon wurde von mir geschrieben, da meine Kenntnisse sehr rudimentär sind. Ich kann lediglich ersehen ob sie was für meinen Einsatzzweck taugen...

m3ucreate.sh

...

m3uremove.sh

...

coversuche.sh

...

Vor allen drei Skripten muss ich ausdrücklich warnen !!

Denn sie sind alle drei nicht sauber "gequotet" und können infolgedessen ohne Weiteres böse Nebeneffekte haben,
(bis hin zum Löschen fremder Dateien) sobald in einem Dateinamen oder Dateipfad ein Leer- oder Sonderzeichen vorkommt !

Ich möchte darauf nur lieber vorher einmal hingewiesen haben, bevor etwas damit passiert.

LG,

track

march Team-Icon

Avatar von march

Anmeldungsdatum:
12. Juni 2005

Beiträge: 17329

Eventuell mag jemand diese Skripte überarbeitet dem Wiki zur Verfügung stellen. ☺ Vielleicht gibt es auch andere/bessere Lösungswege.

tillmo

Anmeldungsdatum:
3. Dezember 2006

Beiträge: Zähle...

Ich habe gerade ein Skript names grepodf zur Suche in Dateien im Open-Document-Format geschrieben. Aufruf

grepodf [-r] [<options-for-grep>] PATTERN FILE

Wäre das was fürs Wiki? EDIT: kleine Korrektur angebracht.

#!/bin/bash
# script grepodf for grep search in odf files

OPTIONS=`getopt --name=$0 -o r,E,F,G,P,i,v,w,x,y,c,L,l,o,q,s,b,n,T,u,z,f:,A:,B:,C: -- $@`
eval set -- "$OPTIONS"
until [ $1 == -- ]; do
        case "$1" in
                -r) REC=true ; shift ;;
                -E|-F|-G|-P|-i|-v|-w|-x|-y|-c|-L|-l|-o|-q|-s|-b|-n|-T|-u|-z) GREPOPT="$GREPOPT $1" ; shift ;;
                -f|-A|-B|-C) GREPOPT="$GREPOPT $1 $2" ; shift 2 ;;
                *) echo "grepodf: Internal error!" ; exit 1 ;;
        esac
done
shift

STR=$1
FILE=$2
if [ x$STR = "x" ]
then echo "usage: grepodf [-r] [<options-for-grep>] PATTERN FILE"
fi

if [ $REC ]
then
  find $FILE -name "*.od?" -exec grepodf $GREPOPT $STR "{}" \; 
  exit $?
fi

if [ ! -f $FILE ]
then
  echo "grepodf: $FILE not found"
  exit 1
fi 

TMP=$(mktemp -d)
unzip -qq -d $TMP "$FILE" > /dev/null 2>&1
if [ -f  $TMP/content.xml ]
then
  sed 's/<[^<]*>/\n/g' $TMP/content.xml | grep $GREPOPT -H --label="$FILE" $STR 
  RES=$?
else
  RES=1
fi
rm -rf $TMP
exit $RES

track

Avatar von track

Anmeldungsdatum:
26. Juni 2008

Beiträge: 7174

Ich sehe gerade, dass Du die (interne) XML-Datei mit sed parst ... 🙄

Das ist nun absolut nicht fachgerecht, Du solltest lieber xmlstarlet benutzen !
(Darauf ist ja nun wirklich oft genug im "Programmieren-Forum" hingewiesen worden. - irgendwann müsste sich das doch mal endlich herumsprechen ?)

Überhaupt frage ich mich, was eine "Zeile" in einem Office-Dokument sein soll. - denn jeder Absatz besteht dort ja intern immer aus einer "Zeile", kann aber durchaus mehrere XML-Tags enthalten.

LG,

track