linux - 根据使用 Awk 的给定表情符号显示特定行?
问题描述
我有一个名为emoji.txt
以下的文件:
Human 1 Disconnected
VPN1 Human 2 Disconnected
Human 3 Is Connected
VPN2 Human 4 Connected
Human 5 Disconnected
Human 6 Connected
VPN4 Human 7 Disconnected
Human 8 Connected
那么我希望得到这样的结果:
Human 1 Disconnected
Human 3 Is Connected
Human 5 Disconnected
Human 6 Connected
Human 7 Connected
目前我从 awk 开始,根据给定的表情符号,我只能得到一个:
Human 6 Connected
Human 7 Connected
功能:
awk -F"\t" '// {print $0}' emoji.txt
但这不是我想要做的,而不是只得到一个我想得到所有我试过的
awk -F"\t" '//\/\/\// {print $0}' emoji.txt
但什么也没发生。
解决方案
您应该在 awk 模式中使用交替:
awk '/|||/' emoji.txt
请注意,;
括号内的表达式被视为文字符号。
表情符号是多字节代码点,在括号表达式中使用它们可能会产生意外的输出,因此首选替代。
此外,{print $0}
是默认操作,因此您可以省略它。由于您稍后不使用字段分隔符,因此-F"\t"
也是多余的(因为默认情况下,记录被拆分为具有任何水平空白字符的字段)。
推荐阅读
- mysql - 匹配另一个选择时如何编写查询以选择数据
- c - 从嵌入式系统将文件写入 SD 卡
- sql - 找到最早的记录
- javascript - 使用 jquery / javascript 附加带有变量的 html 代码
- jenkins - Jenkins 机器人测试插件无法加载“浏览结果”页面
- sql-server - 源选项中的 Azure 数据工厂递归查询
- javascript - ReactPlayer 自动播放
- spring-boot - 使用 gradle 为 spark 提交打包一个 spring boot jar
- r - 用于显示 shapefile 的 R Shiny Leaflet Selector
- c - Unix网络编程:未定义引用`Socket','Bind','Listen','Write'?