Kurzform für „Finden“

Kurzform für „Finden“

Gibt es da draußen eine Alternative für findähnlich zu agund ack?

Ich bin es wirklich leid, immer Folgendes eintippen zu müssen:

find some/app -iname "some_file*"

Ich tippe lieber einfach:

find "some_file*"

Und lassen Sie es im aktuellen Ordner und rekursiv in allen Unterordnern suchen.

Antwort1

Dafür gibt es Funktionen oder Skripte. zB

myfind() {
    search="$1"
    shift
    find . -iname "$search" "$@"
}

Am "$@"Ende können Sie bei Bedarf noch weitere Suchoptionen angeben. Beachten Sie jedoch, dass finddie Reihenfolge einiger Optionen sehr pingelig ist. Einige Optionen funktionieren nur, wenn sie vor dem Pfad stehen ( .in diesem Fall).

Manche haben Grund findzum Jammern, weil sie ein Argument verfolgen, das keine Option ist.

zB find . -iname "*.txt" -maxdepth 1verursacht folgendes Gejammer:

find: Warnung: Sie haben die Option -maxdepth nach einem Nicht-Optionsargument -iname angegeben, aber Optionen sind nicht positionell (-maxdepth wirkt sich auf Tests aus, die davor und danach angegeben wurden). Bitte geben Sie Optionen vor anderen Argumenten an.

Soweit ich weiß, gibt es keine Möglichkeit, diese Warnungen abzuschalten … und wenn doch, heißt sie nicht --quietoder --silent.

Speichern Sie die obige Funktion in jedem Fall in einer Textdatei, z. B. myfind.txt. Geben Sie dann die Quelle an mit:

. myfind.txt.

Wenn Sie möchten, dass es bei jeder Anmeldung definiert wird, fügen Sie die Funktionsdefinition zu Ihrem ~/.profileoder ~/.bash_profileoder der Quelle myfind.txtdaraus hinzu.

shDies setzt voraus, dass Sie eine Bourne-Shell wie oder verwenden bash. Beachten Sie, dass einige Versionen von shmöglicherweise das Schlüsselwort functiondavor erfordern myfind- z. B. . Wenn Sie oder function myfind() { ... }verwenden , dann... nun... tun Sie es nicht, wechseln Sie zu einer Bourne-Shell.cshtcsh

verwandte Informationen