【发布时间】:2015-04-07 06:45:12
【问题描述】:
所以我今天早些时候发布了一个可能过于复杂的问题,所以希望这里有一个更清晰的版本。
我正在尝试编辑文本文件并删除重复的行和围绕它们的行。所以文件看起来像这样几千行:
Info1
Blue
Info1
Info1
Info2
Red
Info2
Info2
Info3 <- Delete line above
Blue <- Delete Duplicate
Info3 <- Delete two lines below
Info3 <- Delete two lines below
我想编辑或创建一个输出文件,以便删除所有重复的行及其周围的信息。所以上面的示例输出将是:
Info1
Blue
Info1
Info1
Info2
Red
Info2
Info2
这里的要求是我开始尝试的:
#Iterates through multiple files
for f in /dir/*; do
mv "$f" "$f~" &&
#unzip and set 2nd line and every fourth line to temp var
#but then not really sure what to do after this
gzip -cd "$f~" | sed '2~4s/ = $temp' | gzip > "$f"
done
【问题讨论】:
-
请展示您的尝试,SO 不是免费的编码服务。
-
我建议看看 Linux unique。至少你已经尝试了一些东西并将你的方法放在这里。
-
伙计,这是 Shell,不是 Python!
-
是的,我不知道是否有人知道在 python 中编写代码的方法。但我也看过 uniq ,我看起来确实可以做我想要的,但我不知道当 uniq 删除重复行时如何删除周围的行。
-
与其发布另一个问题,不如澄清第一个问题!