как прочитать содержимое файла с именем "-" (тире, а не stdin)?
На любом языке программирования просто откройте файл. Один дефис, безусловно, не имеет специального имени файла и может быть открыт как любой другой.
Из оболочки вы можете использовать ./-:
./-
$ some_command --out foo --in ./-
Если вы используете утилиту, которая представляет STDIN / STDOUT с -, попробуйте использовать ./- или -- -.
-
-- -
cat <- будет работать под * nix. </p>
Не отличается от любого другого файла.