列出任何以 .in 结尾的文件,并使用 shell 脚本列出相应的 .out

Loc*_*ell 4 ls shell scripting

我有一个包含以不同扩展名结尾的文件的目录,我如何仅列出/选择以共享相同基名的.in相应文件结尾的文件.out

例如

file1.txt
file1.in
file2.in
file3.in
file2.out
file3.out
Run Code Online (Sandbox Code Playgroud)

我想从这些文件中选择的是:

file2.in
file2.out
file3.in
file3.out
Run Code Online (Sandbox Code Playgroud)

小智 5

既然要.in配对.out,就只循环*.in,检查是否有对应的.out文件,如果有,打印出来:

for f in *.in; do
  if [[ -f ${f%.in}.out ]]; then
    echo $f
    echo ${f%.in}.out
  fi
done
Run Code Online (Sandbox Code Playgroud)