[linux][bash][scripting][Notizen] Eine nützliche Erweiterung des find-Befehls... (multiple commands in find)

in #deutsch6 years ago

Meine Bash-Scripting Notizen... Stay updated & follow me on steemit: free images, art, linux, seo & more

Ich muß mal anfangen, meine besten Scripting-Fundstücke irgendwo außerhalb meiner Festplatten abzulegen... und wo wäre ein besserer Platz als hier in der Blockchain? ~:-)

Den find-Befehl sinnvoll erweitern

Ich habe in den letzten zwei Wochen mehrfach versucht, in find die curly brackets { } auszutricksen, um deren Inhalt (den Dateinamen) nach meinen Wünschen anzupassen. Ich dachte tatsächlich, daß die brackets einfach irgendeine Variable wären, auf die ich nach Belieben zugreifen könnte. Der find-Befehl sieht auf den ersten Blick ja auch irgendwie unspektakulär aus:

find . -name "*.jpg" -exec irgendeinKommando {} \;

Da muß sich doch was bohnern lassen? Falsch gedacht...
---pause---
(Inzwischen bin ich von dieser Krankheit geheilt... jaja... ich weiß...
Errare humanum est, Asche auf mein Haupt   etc. pp.).

Der Beitrag eines Forenten

[...]The curly braces will be replaced by the results of the find command[...] (Quelle)

hat mich zum Umdenken bewegt: Dat funzt net. Aber geht dann möglicherweise etwas anderes? ~:-)

Und tatsächlich: Ich habe die Suchparameter der Suchmaschine meines Vertrauens *hüstel* ein wenig angepaßt und TADAA...

In diesem Forumsbeitrag bei stackoverflow bin ich fündig geworden:

multiple_cmd() {
    hier die coolsten Kommandos
};
export -f multiple_cmd;
find *.txt -exec bash -c 'multiple_cmd "$0"' { } \;
    "multiple_cmd()" - is a function
    "export -f multiple_cmd" - will export it so any other subshell can see it
    "find *.txt -exec bash -c 'multiple_cmd "$0"' {} \;" - find that will execute the function on your example

Man startet eine Subshell, in der man die lustigsten Dinge vorbereiten kann, die dann auf die Dateien angewendet werden, die find liefert.

Ich nutze diese Möglichkeit beispielsweise, um Metadaten von meinen Fotos auf multilingual aufbereitete Derivate zu transferieren (darüber an anderer Stelle mehr...).

Nutzt schon jemand von Euch dieses Spielzeug? ~:-)

Bis Dennis

screenshot. 2018-06-19 01-45-25.png

Screenshot: Mit freundlicher Genehmigung meiner Computertastatur
Bildlizenz: CC0 - Public Domain bzw. drauf geschissen


(-:~ ...memento mori... ~:-)

Sort:  

@klippengeist, thank you for supporting @steemitboard as a witness.

Here is a small present to show our gratitude
Click on the badge to view your Board of Honor.

Once again, thanks for your support!

Do not miss the last post from @steemitboard!

Coin Marketplace

STEEM 0.19
TRX 0.15
JST 0.029
BTC 62904.22
ETH 2571.38
USDT 1.00
SBD 2.76