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개의 동일한 단어 쌍만 검색합니다. 예: 단어 단어 단어 -> 단어 단어(한 쌍) 단어 단어 단어 단어 -> 단어 단어 단어 단어(두 쌍)
각 줄에서 인접한 동일한 단어의 수를 계산하려면 다음을 수행하십시오.
{
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