0

sed のようなフィルタリング メカニズムが必要な問題に直面した場合、sed で解決できるように、どのように問題を分析またはモデル化しますか? 問題を分析構成要素に分解する sed プログラムを分解することが非常に難しいことがわかったため、この質問をしています。フィルタリングとサイクルを含む sed ソリューション空間を対象とした分析を行うことは、本当に私を打ち負かします。

4

1 に答える 1

0

sed の作業方法 (行を読み取り、それを処理して次へ進む) で考える必要があるため、基本的に sed は、行の累積バッファー (メモリとしての 1 つのバッファーと直接アクション用の 1 つのバッファー) で機能する可能性があります。 )、それらを別のものに追加したり、交換したり、交換したりするなどの操作が可能です。置換後に発生するテストメカニズムがあります

大きなことの 1 つは、デフォルトで sed が一度に 1 行しか動作しないことです。入力からロインを読み取り、次のサイクルに進む前に処理します。これは、バッファリングがなければ、行に改行がなく、ある行が別の行を「見る」ことができないことを意味します。

sed は非常に単純なタスクに対して非常に効率的で、(ゲームのような) 非常に難しい作業を行うことができますが、ac/pascal/awk/shell スクリプトのように考える必要はなく、思考の追加や一時的なパターンによる置換などの一時的な状況を通過する必要があることがよくあります。期待するものに戻る前に、計算に関して逆ポーランドで作業するのと少し似ています。最善の方法は、小さなコンセプトの問題を提示して、それを解決する方法 (多くの場合、いくつかの方法があります) を示すことです。

于 2013-11-03T10:32:09.687 に答える