我有以下命令,用于仅提取所有连续重复两次或多次的行,我想编辑这些命令,sed
并perl
命令将行末尾的第一个和第二个字符排除在重复之外。
perl -lne 'print if /^((.)\2+(?!\2))+$/'
sed -Ee '/^((.)\2+)+$/!d' input.txt
我只想打印除同一行中最后一个或最后两个字符之外的所有连续重复字符的行。允许使用非连续重复的字符,但前提是从大文本文件的行尾算起的第一个或第二个字符。
例如输入文件包含:
111224
447758
1122323
15225168
55226565
输出文件应包含:
111224 (only last character is not consecutively repeated)
447758 (only the last two characters are not consecutively repeated)
谢谢
答案1
根据我的回答来自上一个问题:
sed -En 'h;:a;s/^(.)\1+//;ta;/^.{1,2}$/{x;p}' file