Ich lese diesen Artikel . Dort gibt es eine Aussage, die lautet:
ffmpeg -f alsa -ac 2 -i hw:0,0 -f x11grab -s $(xwininfo -root | grep 'geometry' | awk '{print $2;}') -r 25 -i :0.0 -sameq -f mpeg -ar 48000 -s wvga -y sample.mp4
Wenn ich den Befehl ausführe, wird eine Fehlermeldung mit dem folgenden Abschnitt angezeigt:
xwininfo -root | grep 'geometry' | awk '{print $2;}'
Der Grund dafür ist, dass bei Verwendung dieses Befehls auf meinem Computer Folgendes ausgegeben wird:
1360x768+0+0
Wie entferne ich den letzten Teil der Bildschirmauflösung 1360x768
anstelle von 1360x768+0+0
?
command-line
awk
Guest123ABC
quelle
quelle
Antworten:
Sie können verwenden
perl
, um nur die Auflösung zu erhalten:Oder noch kürzer mit nur GNU
grep
:Erläuterung : Der Lookbehind bestätigt
(?<=geometry )
, dass an der aktuellen Position in der Zeichenfolge die Zeichen "Geometrie" vorangestellt sind . Wenn die Zusicherung erfolgreich ist, stimmt die Engine mit dem Auflösungsmuster überein.Ein Lookbehind "verbraucht" keine Zeichen in der Zeichenfolge. Dies bedeutet, dass nach der schließenden Klammer die Regex-Engine an derselben Stelle in der Zeichenfolge steht, von der aus sie zu suchen begann: Sie hat sich nicht bewegt. Von dieser Position aus kann die Engine wieder mit der Zeichenübereinstimmung beginnen.
Quelle: http://www.rexegg.com/regex-disambiguation.html#lookbehind
quelle
Mein reiner
awk
Ansatz, die Zeichenfolge anhand von Leerzeichen und Pluszeichen in Felder aufzuteilen:Eine ähnliche Methode wie Sylvains Perl-Ausdruck, jedoch mit
sed
:quelle
Sie könnten vielleicht verwenden
awk
substr
. In Ihrem speziellen Fall:Oder wenn Sie möchten, dass es auf jeden Fall funktioniert:
Ich hoffe das hilft.
quelle
Andere haben bereits Antworten für den gesamten Vorgang gegeben, aber nur um
1360x768+0+0
1360x768
zu antworten. Wie komme ich von zu ? dann würde ich empfehlen,cut
als einfachste Lösung zu verwenden, zquelle
Ich habe vor einigen Wochen auch Beispiele für die Bildschirmaufnahme von Befehlszeilen ausprobiert. Als alternative Lösung können Sie verwenden
zum Erkennen der Bildschirmauflösung.
Sie können den Bildschirm mit internem Audio und Mikrofon aufnehmen
quelle