bashで問題が発生したので、最近使用し始めました。 私の前の質問がそれによって解決されたので、沢山の魔法のことがちょうど1行で済むことが分かりました。 今回の質問は簡単です:いくつかの行が文字列の場合、ファイル内の行を順序付ける方法
私はこの形式を持つファイル
2 2 10
custom
8 10
3 5 18
custom
1 5
文字列custom
に等しいライン(それは任意の行することができます!)と他の行の一部が2つのまたは3の数字を持っているを持っていますその中に。 は私が(順序も同じでなければなりません)番号の行を配列が、カスタムでラインを維持するファイルをしたいので、所望の出力は、私もこの1と、入力ファイルを上書きしたい
2 4 6 8 10
custom
8 9 10
3 8 13 18
custom
1 2 3 4 5
です。 私はseqを使ってシーケンシングを行うことができますが、私はそれをファイルにするエレガントな方法を望んでいます。
カスタムは任意の行で、おそらく '1 strange line'です。問題から明確ではない、まっすぐな解決のためにupvote。 –
動作しませんでした。たぶん私はもっと明確にすべきだった、任意の行はカスタムに等しいことができ、それは文字通り "カスタム"の文字列、他の行は2〜3の数字を持つことができ、行の任意の数字にすることができます。それは2 2 10であった。カスタム; 2 6 10;カスタム; 1 5(;行を表します)、2 6 10の出力は2 6にする必要があります - 私は文字通り、カスタムと同じでない行でseqコマンドを実行したいと思っています –
助けがあれば、ファイルは1,2,3ライン。私はもっと一般的な解決策を望んでいたので言及しなかった。ファイル内の行の最大数が3であるため、私はこの問題を手作業で多く解決することができます。これは8つすべてのケースを処理するelse文ですが、より洗練された解決策を望んでいました。 –