2017-06-28 11 views
1

私はLinux環境に新しい蜂です。私は、BELL文字^Gをセパレータとして使用して、下記の形式でファイルを生成しました。ファイル処理による重複のソートと削除

I^G2017-06-27 21:57:57.000000^G2^[email protected] 
I^G2017-06-27 22:00:04.000000^G2^[email protected] 
I^G2017-06-27 22:00:59.000000^G2^[email protected] 
K^G2017-06-27 23:00:09.000000^G2^[email protected] 

最初の2つの列は、内部ソートのための列で、3番目の列は一意のキーです。それは2番目の列(タイムスタンプ)と3番目の列に基づいています...私はレコードをソートし、次のように他のファイルに最新の一意のレコードを書き込みたいと思います。

2^[email protected] 

ご連絡ください。おかげ

+0

問題が発生している場所とコードを示す必要があります。それ以外の場合は、サイトをコード作成サービスとして使用しようとしたことによるコミュニティの怒りの危険があります。 – jww

答えて

0

使用sortcuttailはこれを達成するために:

sort -u -k2,2 -t^G input.txt | cut -d^G -f3,4 | tail -n1 > /tmp/output.txt 

まず、我々は、ベル文字を使用するように、第二のカラム(-k2,2)にソートする、一意の行のみ(-u)を選択し、ソート伝えます区切り文字(-t^G、文字を入力するにはctrl+Vctrl+Gと入力します)を入力して入力ファイルを指定します。次に、アウトアウトを同じデリミタ(-d^G)を使用してcutにパイプし、3列目と4列目(-f3,4)のみを保持します。最後の行だけを出力するtail -n1にパイプし、最後に出力ファイルにリダイレクトします。

^Gstdoutを印刷すると、何も表示されず、ビープ音が鳴ります。

関連する問題