【问题标题】:using awk to cut a specific part使用 awk 切割特定部分
【发布时间】:2020-10-27 00:33:44
【问题描述】:

我正在处理许多包含路径的行 示例:

posterita/posterita/web/jsp/pos/posReport1.jsp
build/web/view.jsp
uPortal-webapp/src/main/webapp/WEB-INF/flows/user-manager/selectUserAction.jsp
config/auth.php
database/seeds/DatabaseSeeder.php
admin/modules/announcement/functions.inc.php

我需要用 bash 做什么打印第一个目录 我希望输出是这样的

posterita
build
uPortal-webapp
config
database
admin

第二个和第三个目录的方法相同

posterita
web
src
seeds
modules

我如何使用 awk 、 sed 或 cut 来做到这一点?

【问题讨论】:

    标签: bash awk sed cut


    【解决方案1】:
    $ awk -F'/' -v n=1 'NF>n{print $n}' file
    posterita
    build
    uPortal-webapp
    config
    database
    admin
    
    $ awk -F'/' -v n=2 'NF>n{print $n}' file
    posterita
    web
    src
    seeds
    modules
    

    【讨论】:

      【解决方案2】:
      awk -F '/' {print $1;}
      

      $1 更改为$2 以打印第二张等。

      -F 标志允许您选择分隔符。

      【讨论】:

      • 仅将 $1 更改为 $2 不会产生打印第二个目录所需的输出。注意config/auth.php 输入行会发生什么。
      猜你喜欢
      • 2014-02-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-01
      相关资源
      最近更新 更多