GNU/Linux >> Znalost Linux >  >> Linux

Seznam všech souborů končících na .in a odpovídajících .out se skriptem Shell?

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

Linux
  1. Spuštění skriptu s „. “ A se „zdrojem“?

  2. Jak vytvořit dočasný soubor ve skriptu Shell?

  3. Shell skript s funkcí a parametrem jako proměnnými?

  1. Jak spustit skript shellu při spuštění

  2. Shell skript změní adresář s proměnnou

  3. Připojte řádek do souboru /etc/hosts pomocí skriptu shellu

  1. Může být soubor .sh malware?

  2. Šablony s Linuxem ve skriptu Shell?

  3. Může skript shellu čekat, až se soubor změní, a provést akci?