私はsedを使用してファイルにファイルを追加する前に、繰り返し文字を含む文字列を削除しようとしています。 これまでは、「AA」や「22」のような連続した繰り返しで刺しゅうをしていましたが、完全な文字列の繰り返しとインクリメンタルな文字で苦労しています。sedを使用して、繰り返し文字列とインクリメンタル文字を含む文字列を削除しますか?
generic string generator | sed '/\([^A-Za-z0-9_]\|[A-Za-z0-9]\)\1\{1,\}/d' >> parsed sting to file
また、 'ABA'のような繰り返しを含む文字列を削除したいと考えています。 「AEF」や「AFE」のような昇順または降順の文字列も含まれます。
sedの複数のパスを使用して不要な文字列を削除する方が簡単だと仮定しています。
**上記のXY問題を回避しようとすると、もう少し情報があります。 **
文字列の長さは8から64までですが、この例では8に焦点を絞っています。同時に、大文字のアルファ文字列を出力するように文字列生成を制限していましたが(AZ)。これはいくつかの理由からですが、主に私は生成されたファイルのサイズが非常に大きくなることを望ましくありません。
ストリームから 'AAAAAAAA'や 'AAAAAAAB'のような不要な出力を落とすsedの最初のパスで。この結果、ファイルは文字列 'ABABABAB'と 'ABABABAC'で始まります。
次のパスでは、ある文字から次の文字までが1の値で増減しないことを確認したいと思います。したがって、 'ABABABAB'のような文字列はドロップされますが、 'ACACACAC'はストリームを解析します。
次のパスでは、文字列全体に繰り返し文字が含まれている文字列を削除します。したがって、 'ACACACAC'のような文字列はドロップされますが、 'ACEBDFHJ'はファイルを解析します。
希望に役立ちます。
申し訳ありません申し訳ありませんがあなたの問題をゾルを提供するために十分に理解していません。また、AEFがどのように昇順のstrであるかを見ることができますが、AFEがdesc strであるかどうかはわかりませんが、FEAをdescとして期待します。 str。 '...簡単に..複数のパス...'、はい間違いなく。 sed/s/B/Y/g; s/C/X/'in> out'という同じ行で処理を続けるために、1つのプロセスを使ってsed cmdsのグループをチェーンすることもできます。 。行ごとにcmds、1/s/A/Z/gを全体ファイルとして作成し、 'sed -f fixData.sed in out'のように使用することができます。 'sed -e 's/A/Z/g; s/B/Y/g ...'や 'sed -e' s/A/Zのように' -e'オプションを使う人もいるでしょう。/g '-e/s/B/Y/g' ... ' – shellter
実際には、ask、perl、python、rubyの方がはるかに簡単です... –
古典的な[XY問題](http:// meta。 stackexchange.com/questions/66377/what-is-the-xy-problem)ここにあります。生成しようとしている文字列のプロパティを記述してください。 (あなた自身の問題をどのように解決するのかを(難しい)と判断するのではなく)_ – sehe