我正在构建一个模块,以块的形式管理广告单元,所有这些都需要彼此了解并传递信息.
因此,我需要找到一个简单的钩子或其他函数来获取将在页面上使用的每个块的列表,因此我可以确定知道页面上的整个广告单元列表.
我已经尝试过hook_block_list_alter()但是这似乎返回了我的Drupal安装中存在的块的整个列表,没有指定实际上将在这个页面上呈现哪些块.
所以,现在我该怎么办?
给定一个名为"people.txt"的文本文件,其中包含:
Anne
Bob
Carl
Daphne
Erwin
Gary
Heather
Run Code Online (Sandbox Code Playgroud)
如何使用sed命令或类似的one-liner,它仅指定一组非连续的行号,以便将内容过滤到此结果:
Bob
Erwin
Heather
Run Code Online (Sandbox Code Playgroud)
(注意:忽略它们按字母顺序排列的事实)
请注意,我使用的真实文件有超过100K行,所以答案应该考虑效率.
我知道我可以用:
sed '5q;d' people.txt
Run Code Online (Sandbox Code Playgroud)
只得到第5行("Erwin"),但是这个参数有变化,我可以在其中指定任意行号列表吗?
我认为单独使用sed是可能的,但即使在通过阅读man sed之后我也无法解决这个问题.我一直在寻找其他非常接近这样做的答案,但几乎所有答案都只涉及获得一行或连续的行(一系列行),或使用更复杂的bash脚本; 例如,"快速unix命令显示文件中间的特定行?" 和"如何在Unix中打印文件中的特定行?" .