ripgrepを使用して隣接する重複する単語を見つける方法。例えば
one hello hello world
hello hello
場所にripgrepを使用する方法は?
解決済み
rg '(hello)[[:blank:]]+\1' --pcre2 <<<'one hello hello world'
答え1
答え2
awkの解決策は次のとおりです。
{
for (i=1; i <= NF; i++) {
if ($i == $(i+1)) {
printf("%s %s\n", $i,$(i+1));
i++;
}
}
}
これは2つの同じ単語のペアのみを検索します。例:単語の単語単語 - >単語の単語(カップル)単語の単語単語の単語 - >単語の単語単語の単語(2組)
各行に隣接する同じ単語の数を計算するには、次のようにします。
{
for (i=1; i <= NF; i++) {
counter = 1;
while ($i == $(i+1)) {
counter++;
i++;
}
if (counter > 1) {
printf("%d %s %d\n", NR,$i,counter);
}
}
}
使用法:
awk -f awk_script your_file