2016-12-07 20 views
-2

我有一個文件多行這樣的:如何用awk在一條線上,以切斷圖案

u_top/cell_u0/Y (INV) 
u_top/cell_u3/A (AND) 
u_top/cell_u32/B (BUF) 

想法是在每行前插入「size_cell」,砍最後一個斜線和人物的權利之後它即「/Y」,括號括起來。 我想把它重新格式化爲以下幾點:

size_cell u_top/cell_u0 INV 
size_cell u_top/cell_u3 AND 
size_cell u_top/cell_u32 BUF 
+3

您可以嘗試添加'awk'和'sed'標籤 - 並顯示您到目前爲止所管理的內容。 –

+0

如果以下任何答案對您的目標有所幫助,請通過在答案旁邊打勾右邊的符號來接受/提出封閉答案。 @bryan –

回答

0
awk '{$0="size_cell " $0} {split($2,a,"/"); $2=a[1] "/" a[2] ;gsub(/\(|\)/,"",$3)}1' tag 
size_cell u_top/cell_u0 INV 
size_cell u_top/cell_u3 AND 
size_cell u_top/cell_u32 BUF 
1

一個襯墊

awk -F' ?[()]' '{sub(/\/[^/]*$/,"",$1)}$1="size_cell" OFS $1' file 

或者:

您例如
awk -F'/[^/]* *[(]|[)]' '$1="size_cell" OFS $1' file 

工作。