una - grep varios patrones
Buscando tabs con grep (3)
Aquí hay una forma práctica de crear una variable con una pestaña literal como su valor:
TAB=`echo -e "/t"`
Luego, puedes usarlo de la siguiente manera:
grep "A${TAB}B" File.tsv
De esta manera, no se requiere una pestaña literal. Tenga en cuenta que con este enfoque, necesitará usar comillas dobles (no comillas simples) alrededor de la cadena del patrón, de lo contrario, la referencia de la variable no se reemplazará.
Tengo un archivo que podría contener una línea como esta.
AB
// Separado por una pestaña
Quiero devolver true
a terminal si se encuentra la línea, false
si no se encuentra el valor.
cuando hago grep ''A'' ''file.tsv''
, vuelve a la fila (no es verdadero / falso) pero
grep ''A /t B'' "File.tsv"
o
grep ''A //t B'' "File.tsv"
o
grep ''A/tB''
o
grep ''A<TAB>B''
// presionando el botón de tabulación
no devuelve nada
¿Cómo busco en la pestaña valores separados con grep?
¿Cómo puedo devolver un valor booleano con grep.
Dos métodos: usar la opción -P:
grep -P ''A/tB'' "File.tsv"
Ingresa primero ctrl + v y entra en la pestaña
grep ''A B'' "File.tsv"
Use un carácter de tabulación literal, no el /t
escape. (Es posible que deba presionar Ctrl + V primero). Además, grep
no es Perl 6 (o Perl 5 con el modificador /x
); los espacios son significativos y se combinarán literalmente, por lo que incluso si no funcionara A /t B
con los espacios adicionales alrededor de /t
no lo haría a menos que los espacios estuvieran realmente en el original.
En cuanto al valor de retorno, sepa que obtiene tres tipos diferentes de respuestas de un programa: salida estándar, error estándar y código de salida. El último es 0 para éxito y no 0 para algún error (para la mayoría de los programas que hacen coincidencias, 1 significa que no se encontró y 2 y más significa algún tipo de error de uso). En Unix tradicional, redirige la salida de grep
si solo desea el código de salida; con GNU grep
podría usar la opción -q
lugar, pero tenga en cuenta que eso no es portátil. Tanto grep
tradicional como GNU permiten que -s
suprima el error estándar, pero hay algunas diferencias en cómo los dos lo manejan; más portátil es grep PATTERN FILE >/dev/null 2>&1
.