这种单行从文本输入中删除重复的行,无需预先排序。
例如:
$ cat >f
q
w
e
w
r
$ awk '!a[$0]++' <f
q
w
e
r
$
Run Code Online (Sandbox Code Playgroud)
我在互联网上找到的原始代码如下:
awk '!_[$0]++'
这让我更加困惑,因为我认为_awk 中有一个特殊的含义,就像在 Perl 中一样,但结果证明它只是一个数组的名称。
现在,我理解了单行背后的逻辑: 每个输入行都用作散列数组中的键,因此,在完成后,散列包含按到达顺序排列的唯一行。
我想了解的是 awk 究竟是如何解释这个符号的。例如,爆炸符号 ( !) 的含义以及此代码片段的其他元素。
它是如何工作的?
MuttIMAP 工作正常...直到 IMAP 服务器断开连接。
然后mutt自动重新连接到服务器 - 根据状态行中的消息也很好 - 但是!它会在重新连接时清除索引屏幕中的消息列表,并需要手动重新进入邮箱以重新生成消息列表,这实际上等于重新mutt启动!
我尝试过的所有 IMAP 服务器都会发生这种情况:Gmail、Dovecot、CyrusIMAP。
这是一个很大的烦恼,尤其是当您为组操作完成了大量消息选择并且突然一切都重新开始时。
或者我可能错过了什么?也许它并mutt没有真正重新连接,给出了误导性的状态消息,而我需要一个mutt next generation?