Je lis cet article . Il y a une déclaration qui dit:
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
Lorsque j'exécute la commande, j'obtiens une erreur avec la section qui dit:
xwininfo -root | grep 'geometry' | awk '{print $2;}'
La raison en est que lorsque vous utilisez cette commande sur mon ordinateur, elle génère:
1360x768+0+0
Comment supprimer la dernière partie de la sortie de la résolution d'écran à la 1360x768
place de 1360x768+0+0
?
command-line
awk
Guest123ABC
la source
la source
Réponses:
Vous pouvez utiliser
perl
pour obtenir uniquement la résolution:Ou encore plus court avec juste GNU
grep
:Explication : Le lookbehind
(?<=geometry )
affirme qu'à la position actuelle dans la chaîne, ce qui précède est le caractère "géométrie". Si l'assertion réussit, le moteur correspond au modèle de résolution.Un lookbehind ne "consomme" aucun caractère de la chaîne. Cela signifie qu'après la parenthèse fermante, le moteur d'expression régulière reste au même endroit de la chaîne à partir de laquelle il a commencé à chercher: il n'a pas bougé. À partir de cette position, le moteur peut recommencer à faire correspondre les caractères.
Source: http://www.rexegg.com/regex-disambiguation.html#lookbehind
la source
Mon
awk
approche pure , divisant la chaîne en champs basés sur des espaces et des signes plus:Une méthode similaire à l'expression Perl de Sylvain mais avec
sed
:la source
Vous pourriez peut-être utiliser
awk
substr
. Dans votre cas particulier:Ou si vous voulez qu'il fonctionne dans tous les cas:
j'espère que cette aide.
la source
D'autres ont déjà fourni des réponses pour l'opération complète, mais pour répondre uniquement Comment puis-je aller de
1360x768+0+0
à1360x768
? alors je recommanderais d'utilisercut
comme la solution la plus simple possible, par exemplela source
J'ai également essayé des exemples de capture d'écran en ligne de commande il y a quelques semaines. Comme solution alternative, vous pouvez utiliser
pour détecter la résolution d'écran.
Pour capturer l'écran avec l'audio et le microphone internes, vous pouvez utiliser
la source