1

私は次のものを持っています:

    http://www.google.com/site,11/30/2012 6:51:30 PM
    http://www.google.com/site,10/1/2012 6:51:30 PM
    http://www.google.com/site,11/16/2012 6:51:30 PM
    http://www.google.com/site,8/1/2012 6:51:30 PM

そして、MM / DD / YYYYでソートしたい

    http://www.google.com/site,8/1/2012 6:51:30 PM
    http://www.google.com/site,10/1/2012 6:51:30 PM
    http://www.google.com/site,11/16/2012 6:51:30 PM
    http://www.google.com/site,11/30/2012 6:51:30 PM

sort コマンド、uniq コマンド、tr、sed などを使用できます。awk にはアクセスできません。何か案は ? sort -t "," -k1 一種の働いた。

4

3 に答える 3

1
while read line; do
    s=$(date -d "${line#*,}" +%s)
    echo $s $line
done < input.txt | sort -n | cut -d ' ' -f2-

したがって、各行について、日付文字列 (カンマの後に来る) からエポック以降の秒数を作成し、それを並べ替えキーとして使用して、結果出力から削除します。

于 2012-11-12T23:26:08.820 に答える
1

これをやってみてください:

sort -n -t "," -k 2 file.txt

見る

man sort
于 2012-11-12T22:56:28.933 に答える
0

私は sort コマンドでいくつかの作業を行い、私の問題を発見しました。これは機能しているようです:

    cat s.txt | sort -n -t"/" -k 4,4n -k 5,5n
    https://www.virustotal.com/,9/16/2012 8:19:00 AM
    https://www.virustotal.com/,10/6/2012 9:20:59 AM
    https://www.virustotal.com/,11/1/2012 9:20:22 AM
    https://www.virustotal.com/,11/4/2012 9:11:02 AM
    https://www.virustotal.com/,11/6/2012 8:50:27 AM
    https://www.virustotal.com/,11/12/2012 6:51:32 PM

逆:

    cat s.txt | sort -n -t"/" -k 4,4nr -k 5,5nr
    https://www.virustotal.com/,11/12/2012 6:51:32 PM
    https://www.virustotal.com/,11/6/2012 8:50:27 AM
    https://www.virustotal.com/,11/4/2012 9:11:02 AM
    https://www.virustotal.com/,11/1/2012 9:20:22 AM
    https://www.virustotal.com/,10/6/2012 9:20:59 AM
    https://www.virustotal.com/,9/16/2012 8:19:00 AM

ただし、「/」が多いサイトは次のように機能しないため、コンマの後にこれを行う必要がありますhttp://site.com/go/to/somelink,9/16/2012 8:19:00 AM

于 2012-11-13T00:04:38.377 に答える