GNU/Linux >> Tutoriales Linux >  >> Linux

¿Enumere cualquier archivo que termine con .in y .out correspondiente con Shell Script?

Tengo un directorio lleno de archivos que terminan con diferentes extensiones, ¿cómo enumeraría/seleccionaría solo los archivos que terminan con .in? y correspondiente .out que comparten el mismo nombre base?

por ejemplo

file1.txt
file1.in
file2.in
file3.in
file2.out
file3.out

Lo que quiero seleccionar de estos archivos son:

file2.in
file2.out
file3.in
file3.out

Respuesta aceptada:

Ya que quieres .in para ser emparejado con .out , recorrer solo *.in y verifique si hay un .out correspondiente archivo, si es así, imprima ambos:

for f in *.in; do
  if [[ -f ${f%.in}.out ]]; then
    echo $f
    echo ${f%.in}.out
  fi
done

Linux
  1. ¿Tiempo de espera agotado en un script de Shell?

  2. Cómo cambiar una palabra en un archivo con script de shell de Linux

  3. ¿Es posible una secuencia de comandos mixta de shell y python?

  4. Cómo ejecutar un script de shell al inicio

  5. Shell script cambia de directorio con variable

Descargar archivos con Wget en Linux Shell - Explicación y ejemplos

Cómo trabajar con File y Shell Provisioner en Vagrant

Copie y sobrescriba un archivo en el script de Shell

¿Puede un archivo .sh ser malware?

¿Plantillas con Linux en un script de Shell?

¿Puede un script de shell esperar a que cambie un archivo y actuar?