簡體   English   中英

AWK 過濾輸出

[英]AWK to filter output

我對此感到困惑我有以下目錄結構

ls -d */*
keyspace1/table2           system/peers                  system/sstable_activity                     system_schema/columns
system/IndexInfo           system/prepared_statements    system/transferred_ranges                   system_schema/dropped_columns
system/available_ranges    system/range_xfers            system/views_builds_in_progress             system_schema/functions
system/batches             system/schema_aggregates      system_auth/resource_role_permissons_index  system_schema/indexes
system/batchlog            system/schema_columnfamilies  system_auth/role_members                    system_schema/keyspaces
system/built_views         system/schema_columns         system_auth/role_permissions                system_schema/tables
system/compaction_history  system/schema_functions       system_auth/roles                           system_schema/triggers
system/hints               system/schema_keyspaces       system_distributed/parent_repair_history    system_schema/types
system/local               system/schema_triggers        system_distributed/repair_history           system_schema/views
system/paxos               system/schema_usertypes       system_distributed/view_build_status        system_traces/events
system/peer_events         system/size_estimates         system_schema/aggregates                    system_traces/sessions

我想排除所有系統文件夾,但必須保留 system_schema 和其他目錄! 我已經嘗試使用 AWK 來做到這一點,但這並不像我想要的那樣工作

ls -d */* | awk '{for(i=1;i<=NF;i++) { if(($i=="system_schema") || ($i!~"system")) {print $i}}}'
keyspace1/table2

這會打印其他目錄,這是可以的,但是當我的 system_schema 文件夾? 或者我如何使用其他 UNIX 工具來做到這一點? 謝謝

使用示例grep您可以這樣做:

ls -d */* | grep -v "^system/" 

或者,如果您想要所有以system開頭但不是system/記錄,您可以使用以下內容:

ls -d */* | grep "^system"|grep -v "^system/"

如果您只需要 system_schema 和 keyspace1,您可以使用以下代碼:

 ls -d */* | egrep "system_schema|keyspace" 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM