我試圖使用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)。這是由於幾個原因,但主要是我不希望生成的文件具有可笑的巨大足跡。
隨着sed從流中丟棄不必要的輸出(如「AAAAAAAA」和「AAAAAAAB」)的第一遍。這導致文件以字符串'ABABABAB'和'ABABABAC'開頭。
下一步我想檢查從一個字符到下一個字符不會增加或減少一個值。所以像'ABABABAB'這樣的字符串會被刪除,但'ACACACAC'會解析到這個流。
下一步我想刪除整個字符串中包含任何重複字符的字符串。所以像'ACACACAC'這樣的字符串會被刪除,但'ACEBDFHJ'會解析該文件。
希望有所幫助。
對不起,我不明白你的問題,足以提供一個sol。另外,雖然我可以看到AEF是如何上升的,但我沒有看到AFE如何成爲一個desc str,我期望FEA作爲一個desc。海峽。 '...更容易..多次傳球......',是的。你也可以使用1個進程鏈接sed cmds組,以保持同一行上的處理,即'sed's/A/Z/g; s/B/Y/g; s/C/X /'in> out' 。你可以創建一個完整的cmds文件,每行1's/A/Z/g',並像'sed -f fixData.sed in> out'一樣使用它。你還會看到人們使用'-e'選項,比如'sed -e's/A/Z/g; s/B/Y/g ...',甚至是'sed -e's/A/Z/g'-e/s/B/Y/g'...' – shellter
實際上使用ask,perl,python或ruby會更容易... –
經典[XY問題](http:// meta。 stackexchange.com/questions/66377/what-is-the-xy-problem)。你能否描述一下你試圖生成的字符串的屬性? (_而不是描述(嚴重)你自己如何解決你的問題_) – sehe