如何使用linux Find命令在文档中查找和打印重复的单词?

时间:2018-06-25 03:39:51

标签: linux text find code-duplication

我想确定变量名是否重复。 所以, 我想找到重复的单词。 此外, 是否可以输出重复的字线?
我在互联网上找到了它,但是它不起作用。

 # 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 :(得分:0)

使用以下代码创建脚本 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更改为上述脚本中所需的任何内容。