Linux シェル,ファイル内データの、重複している行を削除する

スポンサーリンク

鍛錬 241

Linux シェルスクリプト,ファイル内データの、重複している行を削除する

ファイル内データの、重複している行を削除するには uniq を使用します。
 
使用方法は、以下に示す通りです。

uniq ファイル名

サンプルファイル

以下は、今回使用するサンプルファイル sample.txt のファイル内容です。

AAA が3行重複しています。

AAA
BBB
AAA
DDD
AAA
EEE

シェルスクリプト

以下は、ファイル内データの、重複している行を削除するシェルスクリプト、test_uniq.sh です。

#!/bin/sh

FILENAME="/var/tmp/sample.txt"

tmp=$(sort $FILENAME | uniq)

echo "$tmp"

実行結果

以下は、サンプルファイル sample.txt のファイル内データについて、重複している行を削除しています。

***@ubuntu:~/***/test/tmp$ 
***@ubuntu:~/***/test/tmp$ ./test_uniq.sh
AAA
BBB
DDD
EEE

 
上記に示した通り、AAA の行は合計3行重複していましたが、重複している行が削除されたことにより、ファイル内の AAA の行は1行になりました。

スポンサーリンク

シェアする

フォローする