檢查文字中的重複行

2021-05-09 15:13:22 字數 864 閱讀 2714

有時候我們需要去檢查文字中是否有重複的行。對於行數較少的檔案我們當然可以人工去檢查,但是如果行數比較多的話,比如成千上萬的大文字,再用人工去檢查就太不實際了。其實我們可以用乙個批處理檔案來幫我們完成這個工作。

**如下:

@echo off

for /f "delims=" %%i in (1.txt) do (

if defined _%%i (echo 重複行:%%i)else set _%%i=i

)pause

將這段**儲存為「檢查重複行.bat」的批處理檔案就可以了。

使用的時候把要檢查的檔案和這個批處理檔案放在一起,並且要檢查的文字名稱為「1.txt」,雙擊一下批處理檔案就能知道結果了。

還有其它的兩段**

**二:

@echo off&setlocal enabledelayedexpansion

for /f "delims=" %%i in ('sort a.txt') do (

if "!str!"=="%%i" echo 重複行: %%i

set "str=%%i"

)pause

功能和上面的一樣的,不過會將找到的結果排序輸出。

**三:

@echo off

set /p var=paste line:

for /f "tokens=1-2 delims=" %%i in ('find /n /v "" 1.txt') do (

if "%var%"=="%%~nj" echo %%i                %%~nj

)pause>nul

和上面兩個自動查詢重複行不同,這段**需要你手工輸入要查詢重複行的內容,它會將所有找到行的內容及行號輸出。

shell 刪除文字中的重複行

三種常見方法 第一,用sort uniq,注意,單純uniq是不行的。shell sort k2n file uniq a.out 這裡我做了個簡單的測試,當file中的重複行不再一起的時候,uniq將服務刪除所有的重複行。經過排序後,所有相同的行都在相鄰,因此unqi可以正常刪除重複行。第二,用s...

刪除檔案中重複的行

今天在經過多次執行指令碼後時候突然發現 etc hosts下面有好多重複的行,突然想起來之前記得學過有命令的,但是忘了,後來在群裡面吼了幾句,有好多牛人相應,閒來與大家分享,o o root zy zy cat etc hosts do not remove the following line,o...

awk中刪除重複行

在awk中,可以用!a 0 做為條件,對重複出現的行進行處理。bash 3.2 cat 2 abcabc ef123 dgag 123 bash 3.2 awk a 0 2 abcef 123dgag 對於awk a 3 需要了解3個知識點 1 awk陣列知識,不說了 2 awk的基本命令格式 aw...