- uniqコマンドを使用する方法: uniqコマンドは、連続する重複した行を削除するために使用されますが、オプションを指定することで重複した行を1つのコピーとして出力することもできます。
sort file.txt | uniq
上記の例では、ファイルfile.txtの内容をソートしてからuniqコマンドを実行しています。重複した行は1つのコピーとして出力されます。
- awkコマンドを使用する方法: awkコマンドを使用すると、重複した行を1つのコピーとして出力することもできます。
awk '!seen[$0]++' file.txt
上記の例では、file.txtの内容を走査し、重複した行を記録している配列seenを使用して重複をチェックしています。重複していない行のみが出力されます。
- Pythonスクリプトを使用する方法: Pythonを使用しても重複した行を1つのコピーとして出力することができます。以下はPythonのコード例です。
lines = set()
with open('file.txt', 'r') as file:
for line in file:
line = line.strip()
if line not in lines:
lines.add(line)
print(line)
上記の例では、ファイルfile.txtを行ごとに読み込み、重複した行を記録するためにセットを使用しています。重複していない行のみが出力されます。
これらはLinuxで重複した行を1つのコピーとして出力するためのいくつかの一般的な方法です。使用する方法やコードは、環境や要件によって異なる場合があります。