Mám adresář plný souborů končících různými příponami, jak bych vypsal/vybral pouze soubory končící na .in
a odpovídající .out
které sdílejí stejné základní jméno?
např.
file1.txt
file1.in
file2.in
file3.in
file2.out
file3.out
Z těchto souborů chci vybrat:
file2.in
file2.out
file3.in
file3.out
Přijatá odpověď:
Protože chcete .in
spárovat s .out
, procházet pouze *.in
a zkontrolujte, zda existuje odpovídající .out
Pokud ano, vytiskněte oba:
for f in *.in; do
if [[ -f ${f%.in}.out ]]; then
echo $f
echo ${f%.in}.out
fi
done