逐行读取文件数据并将该行与下一行匹配,如果匹配则将该行保存在 uniqe.txt 文件中。
答案1
你可以用一个简单的for-loop
#!/bin/bash
mapfile -t < text.txt
for ((a=0,b=1; $b<${#MAPFILE[@]}; a++,b++)); do
[[ ${MAPFILE[$a]} = ${MAPFILE[$b]} ]] && echo ${MAPFILE[$a]}
done > unique.txt
答案2
不确定“连续重复的行”是否是您的关键问题。如果不是,那么您只需要使用 Linux 命令 uniq 即可消除文件中的重复行:
uniq -u inputfile.txt > uniqe.txt
但是,如果您只想消除连续的重复项,则可以使用 awk:
awk 'NR == 1 {a=$0; print} a!=$0 {a=$0; print}' inputfile > uniqe.txt