ファイルの内容を新しいファイルに書き込む方法、重複行を削除する

ファイルの内容を新しいファイルに書き込む方法、重複行を削除する

たとえば、ファイルには次のものがfile1.txt含まれています。

Hi how are you  
hello  
today is monday  
hello  
I am fine  
Hi how are you 

処理後にfile1.txt作成する必要があり、file2.txt内容は同じ行を繰り返すことなく次のようになります。

Hi how are you  
hello  
today is monday  
I am fine  

Linux端末でこれを行うには、どのコマンドを使用できますか?

答え1

start cmd:> awk 'lines[$0]++ == 0' input
Hi how are you
hello  
today is monday  
I am fine

答え2

sortこれは、次の(-u)オプションのみを使用する簡単な作業ですsort

% sort -u file1.txt
hello
Hi how are you
I am fine
today is monday

それを保存するにはfile2.txt

sort -u file1.txt >file2.txt

初期順序を維持するには、次のようにします。

% nl file1.txt | sort -uk2,2 | sort -k1,1n | cut -f2
Hi how are you
hello
today is monday
I am fine

関連情報