Lea CSV para la variable y revise las celdas en esa línea para otra variable

1

Estoy intentando crear un archivo de proceso por lotes para leer un archivo CSV para encontrar un nombre de usuario que será una variable y luego revisar las siguientes 10 celdas en esa línea si coinciden con otra variable que será un número.

Ejemplo CSV:

bsmith, 22, 14, 15, 12, 18, 19
cwright, 10, 15, 11, 2
hwrong, 2, 6, 3
csmith, 10, 16, 19, 3, 5, 19, 18, 7, 2, 4

Cualquier ayuda sería muy apreciada! Gracias

Tengo esto para encontrar el nombre de usuario, pero ahora quiero verificar los números si coinciden con otra variable:

Las variables son: 'nombre de usuario' y 'sitenum'

findstr /c:"%username%" "ACL.csv" >nul 2>&1
IF NOT ERRORLEVEL 1 (
echo AUTHORIZED
) else (
echo UNATHORIZED!!!!
)
JimBean2208
fuente
¿Es este un archivo por lotes de Windows? Su etiqueta implica sistemas similares a Linux, pero findstr Es un comando de Windows.
davidmneedham
Sí, es windows. Mis disculpas, soy nuevo en superusuario Etiquetas actualizadas
JimBean2208
1
@ JimBean2208 Si usa las opciones de expresión regular limitadas de FINDSTR comando debe ser capaz de hacerlo con uno FINDSTR. findstr /r /c:"%username%,.* %sitenum%," "ACL.csv"
Squashman

Respuestas:

1

Quiero verificar los números si coinciden con otra variable

Sólo tubo ( | ) la salida de la primera findstr en otro findstr como sigue:

findstr /c:"%username%" "ACL.csv" | findstr /c:" %sitenum%," >nul 2>&1

Nota:

  • el líder (espacio) y al final , (coma) son importantes ya que esto evita que 1 coincida con 11 (por ejemplo)

DavidPostill
fuente
En realidad, esto fallará cuando se intente encontrar el último número para cada nombre de usuario porque el ejemplo de datos no tiene una coma al final de cada línea. Al igual que mi respuesta también.
Squashman
Solo puedes cambiar el segundo FINDSTR a findstr /C:" %sitenum%," /RC:" %sitenum%$"
Squashman
0

Si usa las opciones de expresiones regulares limitadas del comando FINDSTR, debería poder hacerlo con un FINDSTR.

findstr /r /c:"%username%,.* %sitenum%," /c:"%username%,.* %sitenum%$" "ACL.csv"
Squashman
fuente