- 论坛徽章:
- 0
|
First,以含“DRILL_SIZE=”来排序:
- cat -n file |sed -n '/.{2}..{10,}$/p' | sort -t"=" -k2 | cut -f1 | xargs -i awk 'NR>{}- 10&&NR<{}+3{print}' file >tmp
复制代码
$cat tmp
TOOLS {
NUM=1
SHAPE=HOLE
TYPE=PLATED
TYPE2=STANDARD
MIN_TOL=3.15
MAX_TOL=3.15
BIT=
FINISH_SIZE=12
DRILL_SIZE=17.71653543307087
SLOT_LENGTH=0
}
TOOLS {
NUM=3
SHAPE=HOLE
TYPE=PLATED
TYPE2=STANDARD
MIN_TOL=3.15
MAX_TOL=3.15
BIT=
FINISH_SIZE=22
DRILL_SIZE=27.55905511811024
SLOT_LENGTH=0
}
TOOLS {
NUM=2
SHAPE=HOLE
TYPE=PLATED
TYPE2=STANDARD
MIN_TOL=3.15
MAX_TOL=3.15
BIT=
FINISH_SIZE=28
DRILL_SIZE=33.46456692913386
SLOT_LENGTH=0
}
TOOLS {
NUM=5
SHAPE=HOLE
TYPE=NON_PLATED
TYPE2=STANDARD
MIN_TOL=3.15
MAX_TOL=3.15
BIT=
FINISH_SIZE=35
DRILL_SIZE=41.33858267716536
SLOT_LENGTH=0
}
TOOLS {
NUM=4
SHAPE=HOLE
TYPE=PLATED
TYPE2=STANDARD
MIN_TOL=3.15
MAX_TOL=3.15
BIT=
FINISH_SIZE=40
DRILL_SIZE=45.2755905511811
SLOT_LENGTH=0
}
Second,重组“NUM=”的那行a
- seq 1 5 |xargs -i echo "NUM={}"|xargs -i sed 's/NUM=[1-5]{1}$/{}/' tmp | awk '{k=0;while(k<6){if(NR < 60*k + 12*k +13 && NR > 60*k + 12*k ){print;}k++;}}'
复制代码
****ps:Shell Code Too long |
|