大家自定义以后的 PS1 都是什么样的?
时间:2011-10-29
来源:互联网
我有这样一个文件:
61.178.231.13 201110290239
219.128.82.18 201110290446
27.149.37.60 201110290752
60.168.117.255 201110291009
59.46.80.170 201110291102
60.168.117.255 201110291104
218.86.50.149 201110291107
120.42.146.210 201110291151
61.144.130.200 201110291151
120.42.146.210 201110291152
120.42.146.210 201110291153
59.46.80.170 201110291200
59.46.80.170 201110291203
第一列是IP,第二列是时间,以空格分隔。
我希望处理的结果是:
去掉重复的IP行,如果IP相同,那么保留时间最近的行。
即:
120.42.146.210 201110291153
218.86.50.149 201110291107
219.128.82.18 201110290446
27.149.37.60 201110290752
59.46.80.170 201110291203
60.168.117.255 201110291104
61.144.130.200 201110291151
这个应该怎么做啊?用二维数组吗?
61.178.231.13 201110290239
219.128.82.18 201110290446
27.149.37.60 201110290752
60.168.117.255 201110291009
59.46.80.170 201110291102
60.168.117.255 201110291104
218.86.50.149 201110291107
120.42.146.210 201110291151
61.144.130.200 201110291151
120.42.146.210 201110291152
120.42.146.210 201110291153
59.46.80.170 201110291200
59.46.80.170 201110291203
第一列是IP,第二列是时间,以空格分隔。
我希望处理的结果是:
去掉重复的IP行,如果IP相同,那么保留时间最近的行。
即:
120.42.146.210 201110291153
218.86.50.149 201110291107
219.128.82.18 201110290446
27.149.37.60 201110290752
59.46.80.170 201110291203
60.168.117.255 201110291104
61.144.130.200 201110291151
这个应该怎么做啊?用二维数组吗?
作者: 勒色 发布时间: 2011-10-29
这个差不多了,如果你的日期的年份是一致的话
PS: 第一次发此帖时论坛挂掉了!挂掉了好长一段时间!然后我的 X 也挂掉了,所以火狐也重启了!感谢 Textarea Cache,不然这行代码就会404了!
代码:
sort -r | uniq -w 15 | tac
PS: 第一次发此帖时论坛挂掉了!挂掉了好长一段时间!然后我的 X 也挂掉了,所以火狐也重启了!感谢 Textarea Cache,不然这行代码就会404了!
作者: lilydjwg 发布时间: 2011-10-29
咳,楼上那个简单,我还真去开个emacs写了玩了
output.txt:
120.42.146.210 201110291153
218.86.50.149 201110291107
219.128.82.18 201110290446
27.149.37.60 201110290752
59.46.80.170 201110291203
60.168.117.255 201110291104
61.144.130.200 201110291151
61.178.231.13 201110290239
代码: [ 下载 ] [ 隐藏 ]
使用 haskell 语法高亮
-- test.hs
module Main where
import Data.Monoid
import Data.List
import System.Environment
main :: IO ()
main = do
fmap head getArgs >>= readFile >>=
(\content ->
writeFile "output.txt" $ unlines $ map unwords $
nubBy (\(ip1:_) (ip2:_) -> ip1 == ip2) $
sortBy (\(ip1:t1:_) (ip2:t2:_) ->
(compare ip1 ip2) `mappend`
(compare t2 t1)) $ map words $ lines content
)
module Main where
import Data.Monoid
import Data.List
import System.Environment
main :: IO ()
main = do
fmap head getArgs >>= readFile >>=
(\content ->
writeFile "output.txt" $ unlines $ map unwords $
nubBy (\(ip1:_) (ip2:_) -> ip1 == ip2) $
sortBy (\(ip1:t1:_) (ip2:t2:_) ->
(compare ip1 ip2) `mappend`
(compare t2 t1)) $ map words $ lines content
)
格式化 0.009 秒, 使用 GeSHi 1.0.8.4
代码:
ghc --make test.hs
./test yourfile.txt
./test yourfile.txt
output.txt:
120.42.146.210 201110291153
218.86.50.149 201110291107
219.128.82.18 201110290446
27.149.37.60 201110290752
59.46.80.170 201110291203
60.168.117.255 201110291104
61.144.130.200 201110291151
61.178.231.13 201110290239
作者: tangboyun 发布时间: 2011-10-29
tangboyun 写道:
咳,楼上那个简单,我还真去开个emacs写了玩了
代码: [ 下载 ] [ 隐藏 ]
使用 haskell 语法高亮
-- test.hs
module Main where
import Data.Monoid
import Data.List
import System.Environment
main :: IO ()
main = do
fmap head getArgs >>= readFile >>=
(\content ->
writeFile "output.txt" $ unlines $ map unwords $
nubBy (\(ip1:_) (ip2:_) -> ip1 == ip2) $
sortBy (\(ip1:t1:_) (ip2:t2:_) ->
(compare ip1 ip2) `mappend`
(compare t2 t1)) $ map words $ lines content
)
module Main where
import Data.Monoid
import Data.List
import System.Environment
main :: IO ()
main = do
fmap head getArgs >>= readFile >>=
(\content ->
writeFile "output.txt" $ unlines $ map unwords $
nubBy (\(ip1:_) (ip2:_) -> ip1 == ip2) $
sortBy (\(ip1:t1:_) (ip2:t2:_) ->
(compare ip1 ip2) `mappend`
(compare t2 t1)) $ map words $ lines content
)
格式化 0.009 秒, 使用 GeSHi 1.0.8.4
看不懂求入门教程

作者: lilydjwg 发布时间: 2011-10-29
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28