ダッシュ (-) で始まる行を含むファイルを処理する必要があります。これらは、前の行に追加する必要がある継続行です。だから私が持っているのは次のようなものです:
  Lorem ipsum dolor sit amet, consectetur 
  - adipiscing elit. Donec 
  - consectetur lotis. 
  Sed a est dui.
  Curabitur placerat a tortor
  - vel sodales.
そして私が欲しいのは:
Lorem ipsum dolor sit amet, consectetur - adipiscing elit. Donec - consectetur lotis.
Sed a est dui. 
Curabitur placerat a tortor - vel sodales.
だから私はこのようなものを書いた:
$s = ""
cat $f |%{
    if ($_ -match "^-") { $s += $_ } else { $s; $s = $_; }
} |out-file x.txt
私の質問は次のとおりです。ファイルが破線で終わる場合、スクリプトは最終行を出力しません。これは、パイプから最終行を受け取ったときに、それが最終行であることを認識していないためです。
Perl では、END {} のような構文を使用してこれらのことを行うことができました。それは Powershell でどのように処理されますか?
アップデート
Perl は適切です。なぜなら、その言語では次のようなことができるからです (txt関連するテキストを含むファイルはどこにありますか):
perl -lne '
   BEGIN { $s = "" };
   if (/^-/) { $s .= $_ } else { print $s; $s = $_; }
   END { print $s; }
   ' txt 
ご覧のとおり、END{} コンストラクトが問題を解決します