Linux 如何确定某个文件中的每一行是否相同?
我有一个文件:Linux 如何确定某个文件中的每一行是否相同?,linux,bash,Linux,Bash,我有一个文件: $ cat myFile fang fang fung fang 如何使用bash快速确定某个文件中的每一行是否相同?我希望我可以找到不同的行号,例如,当应用到myFile时,我希望输出可以是3(行号)。{ 直线=1 读一本 读b的时候,做b ((line++) 如果[[$b!=$a]];那么 回音$线 打破 fi 完成 }
$ cat myFile
fang
fang
fung
fang
如何使用bash快速确定某个文件中的每一行是否相同?我希望我可以找到不同的行号,例如,当应用到myFile
时,我希望输出可以是3(行号)。{
直线=1
读一本
读b的时候,做b
((line++)
如果[[$b!=$a]];那么
回音$线
打破
fi
完成
}
Pro:将为芳芳芳芳
匹配芳芳
Con:与方丰方丰不匹配{ 直线=1 读一本 读b的时候,做b ((line++) 如果[[$b!=$a]];那么 回音$线 打破 fi 完成 }
芳芳芳芳
匹配芳芳
缺点:与
方丰
的方丰
不匹配注意:如果奇数行是唯一的,则效果很好。不会为芳芳丰
打印任何内容。如果文件为芳丰
,如何解决此问题?您希望得到什么输出?您可以使用sort file1 | uniq-c
显示文件中的每一行,以及出现次数的计数。注意:如果奇数行是唯一的,则效果非常好。不会为芳芳丰
打印任何内容。如果文件为芳丰
,如何解决此问题?您希望得到什么输出?您可以使用sort file1 | uniq-c
显示文件中的每一行,以及出现次数的计数。方丰中断,假设“方”为不匹配。方丰中断,假设“方”为不匹配。您需要澄清您的问题。是否要查看两个任意文件之间的一行是否不同?还不够清楚。听起来您可能需要“diff”命令。您需要澄清您的问题。是否要查看两个任意文件之间的一行是否不同?还不够清楚。听起来您可能需要“diff”命令。
$uniq -u file1
$uniq -u file2
fung
$grep -n $(uniq -u file2) file2
3:fung
{
line=1
read a
while read b; do
((line++))
if [[ $b != $a ]]; then
echo $line
break
fi
done
} < file2