Soy principiante en el uso de comandos de programación.
Por qué {2} no es funcional después de ([^ \t ]* \t ) en el terminal MacOS?
¿Hay algún sitio web que proporcione Perl RegEx que funcione en mac? Gracias.
Soy principiante en el uso de comandos de programación.
Por qué {2} no es funcional después de ([^ \t ]* \t ) en el terminal MacOS?
¿Hay algún sitio web que proporcione Perl RegEx que funcione en mac? Gracias.
RegExPlanet ofrece un Página de prueba de expresiones regulares para Perl . Esta página funciona con Safari en MacOS 10.12.
Usted puede encontrar que grep
incluido con macOS no incluye toda la funcionalidad que deseas. Si es así, pruebe instalación de grep
de Homebrew o MacPorts.
bsd grep
no utiliza expresiones regulares de Perl. Por favor, lea man grep
y observe lo que el -p
lo hace. Otra vez, man 7 re_format
explica cómo funciona regex en macOS con herramientas como grep
y sed
.
En su expresión regular, el carácter \t
no se interpreta como el carácter de control de tabulación. Así que tendrá que escribir el carácter de tabulación literal ( control + v, tabulación ) en su lugar -
grep -E '^([^ ]* ){2}mypattern ' FILE
o puede utilizar el entrecomillado ansi-c (Las palabras de la forma $'cadena' se tratan de forma especial. La palabra se expande a cadena, con caracteres backslash-escapados reemplazados según lo especificado por el estándar ANSI C). -
grep -E $'^([^\t]*\t){2}mypattern\t' FILE
También puede utilizar perl
directamente -
perl -ne 'print if /^([^\t]*\t){2}mypattern\t/' FILE
AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.
0 votos
grep -p "^([^\t]*\t){2}mypattern\t" textfile.txt
no devuelve ningún error en MacOS 10.12. Aparece un mensaje de error o la expresión regular no coincide como esperaba?