J'ai besoin de mais je veux résultat comme: p> grep code> pour le nom de fichier existant entre un espace blanc et l'extension de fichier. Exemple:
3 Réponses :
$ echo -e "Akqmskdnlcn shddhjshd.py" | grep -o "[^[:space:]]*\.py" shddhjshd.py ^ is to negate the catching group. Work with [:space:] means characters not space. -o is only to only print out matched contents.
Puis-je l'utiliser dans cette expression ?? '(? <= [[: espace:]]]) (\ n |.) *? (? = \ \. py)' '
@Megumi vous pouvez essayer. Mais je ne peux pas comprendre pourquoi vous mettez \ n code> à l'intérieur. Vous voulez aussi
.py code> partie ou pas? Si vous le souhaitez, ne les mettez pas dans
(? =) Code>. Aussi la bonne façon de correspondre à
.py .py code> est
\ \. Py code> -
. Code> a une signification particulière afin de
échappatoire code> il.
Si vous pouvez utiliser un autre outil après grep, Si vous devez utiliser uniquement couper code> rend cette très simple:
grep code> , vous allumez les choses autour de vous et correspondez à tout «non-espace» non-espace (\ S) qui précède «.py», puis utilisez le drapeau -o pour pring le match et vous l'avez: P> < Pré> xxx pré> p>
avec AWK
echo "Akqmskdnlcn shddhjshd" | awk -F' ' ' $2 ~ /.*.py/{print $2}'