Как найти и напечатать повторяющиеся слова в документе с помощью команды «Найти» в linux? - PullRequest
0 голосов
/ 25 июня 2018

Я хочу узнать, дублируются ли имена переменных.Итак, я хочу найти повторяющиеся слова.Кроме того, можно ли вывести повторяющиеся строки слов?
Я нашел его в Интернете, но он не работает.

 # grep test.php | awk ‘{print $3}’ | sort | uniq -dc

пример.

$color2=$_POST['color2'] ?? '';
$color1=$_POST['color1'] ?? '';
$color3=$_POST['color3'] ?? '';
$color5=$_POST['color5'] ?? '';

$color6=$_POST['color6'] ?? '';
$color3=$_POST['color3'] ?? '';
$color8=$_POST['color8'] ?? '';
$color9=$_POST['color9'] ?? '';

$color13=$_POST['color13'] ?? '';
$color10=$_POST['color10'] ?? '';
$color11=$_POST['color11'] ?? '';
$color12=$_POST['color12'] ?? '';

$color13=$_POST['color13'] ?? '';

1 Ответ

0 голосов
/ 28 июня 2018

Создать скрипт findDup.sh со следующим кодом:

for n in $(seq 1 13)
do
        no_of_lines=$(grep -n color$n= test.php|wc -l)
        if  [ $no_of_lines -gt 1 ]
        then
                grep -n color$n= test.php
                echo "--------"
        fi
done

Когда вы запустите его в каталоге, содержащем test.php , вы получите дубликаты строк с номерами строк.

Пример:

$ ./findDup.sh
3:$color3=$_POST['color3'] ?? '';
6:$color3=$_POST['color3'] ?? '';
--------
9:$color13=$_POST['color13'] ?? '';
13:$color13=$_POST['color13'] ?? '';
--------

Вы можете изменить предел с 13 на все, что вам нужно в приведенном выше сценарии.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...