Früher hatte ich diesen Befehl, um zu zählen, wie oft ich mit der Maus geklickt habe xev | grep "ButtonPress"
.
Mein Kollege ändert den Befehl so, dass er zurückgibt:
ButtonPress 0
ButtonPress 1
ButtonPress 2
ButtonPress 3
und so weiter ... Leider ist er nicht mehr erreichbar, so dass ich ihn nicht mehr erreichen kann.
Ich erinnere mich an die Beteiligung i++
und so etwas, wie man den Befehl reproduziert.
command-line
bash
scripts
dash-shell
Jackie Nelson
quelle
quelle
xev | grep -c "ButtonPress"
, die Anzahl der Klicks beim Beenden anzeigen?ButtonPress
+ Nummer jedes Mal, wenn ich auf das White-Box-Popup-Fenster klicke, sorry, ich bin ein Neuling ...xev
. Wie kann man dafür sorgen, dass der Live-Wert zurückgegeben wird?Antworten:
Die Tatsache, dass es gibt,
i++
deutet darauf hin, dass entwederbash
oder eineksh
Shell verwendet wurde, möglicherweiseawk
oderperl
auch. In beiden Fällen können wir die Prozessersetzung verwenden<(...)
, um die Ausgabe derxev
Zählschleife zuzuführen (obwohl eine einfache Pipelinexev | while...
problemlos funktionieren könnte).Textverarbeitungswerkzeuge :
Portabel und für weniger Tastenanschläge können wir verwenden
awk
:perl
Ausführung:Muscheln :
Folgendes funktioniert in
bash
:Falls Sie nicht möchten, dass viele Zeilen spammig ausgegeben werden, können Sie
printf
Steuercode senden, um die vorherige Zeile zu löschen und nur die laufende Anzahl auszugeben (dh, Sie sehen nur eine Änderung des ganzzahligen Werts in der Zeile):Portabel in der POSIX-Shell:
Grundausstattung :
Auf einfache, schnelle und schmutzige Weise können wir dies hacken,
cat -n
indem die Zeilenanzahl links statt rechts gedruckt wird:quelle
awk
Version zusammenhängt. Die letzten Ubuntu-Anwendungengawk
und vor 16.04 waren standardmäßigmawk
IIRC.perl
Version eins beginnt ? Nicht null