Linux Grep可能简单的答案

The*_*Man 0 linux bash terminal awk grep

我正在使用zone.tabunder /usr/share/zoneinfo/zonetab,我无法以某种格式显示数据.

我运行的命令:

cat zone.tab | awk '!/#/ {print $3}' | sort
Run Code Online (Sandbox Code Playgroud)

这将返回一个区域和contries列表:

America/Washington
Pacific/Enderbury
Run Code Online (Sandbox Code Playgroud)

我需要的是上面的/每一行返回最后一行.

有些情况如Pacific/Somewhere/A.我有一个正则表达式([^/]+$)应该可以工作,但事实并非如此.有任何想法吗?

Sha*_*hin 5

您也可以在一个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
Run Code Online (Sandbox Code Playgroud)