3

我有很多*.dat文件。什么是可以删除每行中重复的相邻行的 bash 脚本?

4

2 回答 2

7

你的意思是这样吗?

#!/bin/bash
for f in "$@"
do
   cp "$f" /tmp/tmp.dat
   uniq /tmp/tmp.dat > "$f"
done

您可以在包含许多 *.dat 文件的目录中运行。如果你把它放在一个名为 的脚本中uniq_dat,并使其可执行,你可以像这样运行它:

uniq_dat *.dat
于 2012-07-25T05:03:41.440 回答
6

使用排序!

sort -u foo -o foo
# is short for
sort --unique foo -o foo

# if you want to avoid sorting
sort —merge —unique foo -o foo
于 2019-07-11T19:41:21.380 回答