Skip to content

Instantly share code, notes, and snippets.

#!/usr/bin/perl -nl
use Getopt::Std;
BEGIN {
getopt("n:a:" => \%o);
$n = $o{"n"} ||= 10;
$all = $o{"a"};
}
if (rand($all - $. + 1) < $n) {
print;
--$n;
perl -MFile::Temp -Mutf8 -CSD -F/\\t/ -nale 'for $i(0..1) { ($fh[$i], $fname[$i]) = File::Temp::tempfile(UNLINK=>1); binmode $fh[$i], ":utf8"; @{$l[$i]} = split//, $F[$i]; print {$fh[$i]} $_ for @{$l[$i]}; close $fh[$i]; } for (reverse grep { m{^\d}; } map { chomp; $_; } `diff $fname[0] $fname[1]`) { @t = map { m{^(\d+),(\d+)$} ? [$1-1, $2-1] : m{^(\d+)$} ? [$1-1, $1-1] : $_; } split/([acd])/; @new = @{$l[1]}[$t[2]->[0]..$t[2]->[1]]; if ($t[1] eq "a") { splice @{$l[0]}, $t[0]->[0]+1, 0, "<u>", @new, "</u>"; } elsif ($t[1] eq "d") { splice @{$l[0]}, $t[0]->[1]+1, 0, "</s>"; splice @{$l[0]}, $t[0]->[0], 0, "<s>"; } else { splice @{$l[0]}, $t[0]->[1]+1, 0, "</s><u>", @new, "</u>"; splice @{$l[0]}, $t[0]->[0], 0, "<s>"; } } print join("", @{$l[0]});'
U+607B 恻 ⿲忄贝刂 ⿰忄则
U+60ED 惭 ⿲忄车斤 ⿰忄斩
U+63B7 掷 ⿲扌关⻏ ⿰扌郑
U+63FF 揿 ⿲扌钅欠 ⿰扌钦
U+6811 树 ⿲木又寸 ⿰木对
U+69E0 槠 ⿲木讠者 ⿰木诸
U+6A7C 橼 ⿲木纟彖 ⿰木缘
U+6E10 渐 ⿲氵车斤 ⿰氵斩
U+6E85 溅 ⿲氵贝戋 ⿰氵贱
U+6EDF 滟 ⿲氵丰色 ⿰氵艳
U+5BAE 宮 ⿰宀呂 ⿱宀呂
U+5DFB 巻 ⿰龹己 ⿱龹己
U+5ECD 廍 ⿰广部 ⿸广部
U+67AA 枪 ⿱木仓 ⿰木仓
U+70C2 烂 ⿻火兰 ⿰火兰
U+75E9 痩 ⿰疒叟 ⿸疒叟
U+7666 癦 ⿰疒&AJ1-03709; ⿸疒&AJ1-03709;
U+7AA7 窧 ⿰穴卓 ⿱穴卓
U+7ABD 窽 ⿰穴欵 ⿱穴欵
U+7CC1 糁 ⿻米参 ⿰米参
U+518F 冏 ⿴&CDP-8C58;口 ⿵&CDP-8C58;口
U+54B8 咸 ⿴戌口 ⿵戌口
U+5C5C 屜 ⿺尸⿰彳世 ⿸尸⿰彳世
U+5C6B 屫 ⿻尸⿰爿喬 ⿸尸⿰爿喬
U+5EE4 廤 ⿰广⿱車叱 ⿸广⿱車叱
U+67D2 柒 ⿱氵⿰七木 ⿱⿰氵七木
U+6866 桦 ⿱木⿰化十 ⿰木华
U+74E3 瓣 ⿲辛瓜辛 ⿴辡瓜
U+7666 癦 ⿰疒&AJ1-03709; ⿸疒&AJ1-03709;
U+877E 蝾 ⿱虫&AJ1-17775; ⿰虫荣
U+5C3D 尽 ⿱尺&CDP-8971; ⿵尺&CDP-8971;
U+631D 挝 ⿰扌&C3-2731; ⿰扌过
U+6D55 浕 ⿰氵⿵尺&CDP-8971; ⿰氵尽
U+75D6 痖 ⿸疒⿱一业 ⿸疒亚
U+7BA9 箩 ⿳竹⺫夕 ⿱竹罗
U+7BD3 篓 ⿳竹米女 ⿱竹娄
U+7FDA 翚 ⿳羽冖车 ⿱羽军
U+8D46 赆 ⿰贝⿵尺&CDP-8971; ⿰贝尽
U+8DF9 跹 ⿰𧾷⿺⻌千 ⿰𧾷迁
U+9765 靥 ⿸厂⿱犬面 ⿸厌面
U+6EAC 溬 ⿰氵⿷羌厶 ⿰氵羗
U+6F80 澀 ⿰氵⿱⿰刃刃𣥖 ⿰氵歰
U+7361 獡 ⿰犭⿱臼&CDP-8DBF; ⿰犭舃
U+8BBA 论 ⿰讠⿱𠆢匕 ⿰讠仑
U+9B1B 鬛 ⿳髟⿴囗㐅&CDP-8D46; ⿳髟龱&CDP-8D46;