Ich möchte die Anzahl der Verzeichnisse und Dateien im Ausgangsverzeichnis herausfinden und die Anzahl der Variablen in einem Shell-Skript speichern. Ich verwende die folgenden Befehle.
command="ls -l | grep -c \"rahul.*patle\""
eval $command
Ich möchte diese Anzahl in einer Varibale-Anzahl speichern. Wie kann ich das machen.
ls -1
(Nummer eins) anstelle vonls -l
undgrep -cE
abhängig von Ihrem System zu verwenden?Antworten:
Die Syntax zum Speichern der Befehlsausgabe in einer Variablen lautet
var=$(command)
.So können Sie direkt tun:
result=$(ls -l | grep -c "rahul.*patle")
Und die Variable
$result
enthält die Anzahl der Übereinstimmungen.quelle
command | tee tmp_file
und dannvar=$(< tmp_file)
. Dies führt den Befehl aus; mittee
Ihnen in Terminal - Ausgabe zu sehen , und es wird in der Datei gespeicherttmp_file
als auch, Dann lesen Sie die Datei in$var
.tee
.result=$(ls -l | tee /dev/tty | grep -c "rahul.*patle")