Linux Grep 可能是简单的答案

标签 linux bash terminal awk grep

我正在使用 /usr/share/zoneinfo/zonetab 下的 zone.tab,但我无法以特定格式显示数据。

我运行的命令:

cat zone.tab | awk '!/#/ {print $3}' | sort

这将返回区域和国家列表:

America/Washington
Pacific/Enderbury

我需要的是让上面的代码返回每行最后一个 / 之后的所有内容。

有一些情况,例如Pacific/Somewhere/A。我有一个正则表达式 ([^/]+$) 应该可以工作,但没有。有什么想法吗?

最佳答案

您也可以在一个 awk 命令中完成所有操作:

awk '!/^#/ { sub(".*/", "", $3); print $3 }' /usr/share/zoneinfo/zone.tab
     ----    -----------------   --------
        |                   |          |
  for non-comment lines     |          |
                            |          |
                     modify 3rd col    |
                   leaving only text   |
                   after last slash    |
                                       |
                                 Then print modified 3rd col

关于Linux Grep 可能是简单的答案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8066948/

相关文章:

linux - bash 中前面注释的第一个参数的简写是什么?最后是 '$!'

c++ - 文件名如何在 `char` 和 2 字节字符之间工作?

java - 为什么我在 JVM 下运行时在我的 Ada 共享库上得到 "storage error"

linux - (60) Peer 的证书颁发者已被用户标记为不信任 : Linux/Apache

linux - 如何在多个用户的家创建一个目录?

c - 简单的命令行解释器

mysql - 仅使用 INSERT 行过滤 pg_dump 并使用 awk 更改表名称

java - 无法在centos R中安装rJava

macos - 使用指定的命令(和自定义颜色)以编程方式启动Terminal.app

terminal - Macos (Apple Silicon) Homebrew 已安装但未找到 brew 命令