如何在自包含的awk腳本中使用awk範圍模式'/begin regex/,/end regex/'
?腳本中的awk'/ range start /,/ range end /'
爲了澄清,給定的程序csv.awk:
#!/usr/bin/awk -f
BEGIN {
FS = "\""
}
/TREE/,/^$/
{
line="";
for (i=1; i<=NF; i++) {
if (i != 2) line=line $i;
}
split(line, v, ",");
if (v[5] ~ "FOAM") {
print NR, v[5];
}
}
和文件塊:
TREE
10362900,A,INSTL - SEAL,Revise
,10362901,A,ASSY/DETAIL - PANEL,Revise
,,-203,ASSY - PANEL,Qty -,Add
,,,-309,PANEL,Qty 1,Add
,,,,"FABRICATE FROM TEKLAM NE1G1-02-250 PER TPS-CN-500, TYPE A"
,,,-311,PANEL,Qty 1,Add
,,,,"FABRICATE FROM TEKLAM NE1G1-02-750 PER TPS-CN-500, TYPE A"
,,,-313,FOAM SEAL,1.00 X 20.21 X .50 THK,Qty 1,Add
,,,,"BMS1-68, GRADE B, FORM II, COLOR BAC706 (BLACK)"
,,,-315,FOAM SEAL,1.50 X 8.00 X .25 THK,Qty 1,Add
,,,,"BMS1-68, GRADE B, FORM II, COLOR BAC706 (BLACK)"
,PN HERE,Dual Lock,Add
,
10442900,IR,INSTL - SEAL,Update (not released)
,10362901,A,ASSY/DETAIL - PANEL,Revise
,PN HERE,Dual Lock,Add
我想有這樣的輸出:
27 FOAM SEAL
29 FOAM SEAL
什麼是語法將命令行形式'/begin regex/,/end regex/'
添加到腳本以僅在這些行上操作?我所有的嘗試都會導致語法錯誤,Google搜索只會給我提供cli的形式。
現在使「從」和「到」動態,OP想要從命令行饋送。 – akira
我很抱歉,那裏提到了哪裏?無論如何,編輯解決方案。 –
只是爲了改變'from'和'to'的範圍而改變腳本將是一件可悲的事情,不是嗎? :) – akira