我试图使用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