GNU/Linux >> Linux Esercitazione >  >> Linux

Elencare qualsiasi file che termina con .in e corrispondente .out con lo script della shell?

Ho una directory piena di file che terminano con estensioni diverse, come posso elencare/selezionare solo i file che terminano con .in e il corrispondente .out che condividono lo stesso nome di base?

es.

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

Quello che voglio selezionare da questi file sono:

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

Risposta accettata:

Dal momento che vuoi .in da abbinare a .out , scorre solo *.in e controlla se esiste un .out corrispondente file, in tal caso, stampa entrambi:

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

Linux
  1. Timeout in uno script di shell?

  2. Esecuzione dello script con ". ” E con “fonte”?

  3. Come creare un file temporaneo nello script della shell?

  4. Come cambiare una parola in un file con lo script della shell linux

  5. Directory di modifica dello script Shell con variabile

Scarica file con Wget sulla shell Linux - Spiegazione ed esempi

Come acquisire le sessioni del terminale e l'output con il comando di script Linux

Come lavorare con File e Shell Provisioner in Vagrant

sposta solo se il file esiste in uno script di shell

AWK e nomi di file con spazio al suo interno.

Trova un file corrispondente a un determinato modello e assegna quel nome di file come valore a una variabile nello script di shell?