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