亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
12345下一頁
最近訪問板塊 發(fā)新帖
查看: 7757 | 回復(fù): 49
打印 上一主題 下一主題

誰能幫我處理如下的文件?(以文件的某一行排序后重組)謝謝了!!  關(guān)閉 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2005-11-16 19:50 |只看該作者 |倒序瀏覽
第一個文件是以含“NUM=”的行來排序,如下
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=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=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=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
}

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
}
第二個文件要以含“DRILL_SIZE=”來排序,并重組“NUM=”的那行,效果如下
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=2
    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=3
    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=4
    SHAPE=HOLE
    TYPE=PLATED
    TYPE2=STANDARD
    MIN_TOL=3.15
    MAX_TOL=3.15
    BIT=
    FINISH_SIZE=35
    DRILL_SIZE=41.33858267716536
    SLOT_LENGTH=0
}

TOOLS {
    NUM=5
    SHAPE=HOLE
    TYPE=NON_PLATED
    TYPE2=STANDARD
    MIN_TOL=3.15
    MAX_TOL=3.15
    BIT=
    FINISH_SIZE=40
    DRILL_SIZE=45.2755905511811
    SLOT_LENGTH=0
}
謝謝老大了!

論壇徽章:
0
2 [報告]
發(fā)表于 2005-11-16 20:08 |只看該作者
好像只用awk有點不夠用,awk的排序函數(shù)還不太會用,有哪位老大有好的思路?

論壇徽章:
0
3 [報告]
發(fā)表于 2005-11-16 22:07 |只看該作者
  1. cat -n file |sed -n '/.\{2\}\..\{10,\}$/p' | sort -t"=" -k2 | cut -f1 | xargs -i awk 'NR>{}- 10&&NR<{}+3{print}' file >tmp
復(fù)制代碼


  1. 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
  2. + 12*k +13  && NR > 60*k + 12*k ){print;}k++;}}'
復(fù)制代碼








$ 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++;}}'
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=2
    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=3
    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=4
    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=5
    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
}

[ 本帖最后由 dbcat 于 2005-11-16 22:26 編輯 ]

論壇徽章:
0
4 [報告]
發(fā)表于 2005-11-16 22:14 |只看該作者
謝謝老大了,能不能大概解釋一下思路,看的有點暈,^_^

論壇徽章:
0
5 [報告]
發(fā)表于 2005-11-16 22:21 |只看該作者
First,以含“DRILL_SIZE=”來排序:

  1. cat -n file |sed -n '/.{2}..{10,}$/p' | sort -t"=" -k2 | cut -f1 | xargs -i awk 'NR>{}- 10&&NR<{}+3{print}' file >tmp
復(fù)制代碼


$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
  1. 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++;}}'
復(fù)制代碼



****ps:Shell Code Too long

論壇徽章:
0
6 [報告]
發(fā)表于 2005-11-16 22:31 |只看該作者
seq 是什么命令?我用的c-shell,沒見過seq,請老大指教!
代碼實用就行^_^

論壇徽章:
0
7 [報告]
發(fā)表于 2005-11-16 22:35 |只看該作者
csh............
This script is for bash ^_^
$seq 1 5
1
2
3
4
5

In csh try:
??

[ 本帖最后由 dbcat 于 2005-11-16 22:36 編輯 ]

論壇徽章:
0
8 [報告]
發(fā)表于 2005-11-16 22:53 |只看該作者
awk ' BEGIN { FS="[\n=]" ; RS=""} { print $3 } ' a | sort -n > c

for i in `cat c ` ; do

awk ' BEGIN { FS="[\n=]" ; RS=""} { a[$3]=$0 } END { print a['$i'] }  ' a

done

-------------------

如果 num 有相同的就不行了、、、,

[[i] 本帖最后由 技安 于 2005-11-16 22:55 編輯 [/i]]

論壇徽章:
0
9 [報告]
發(fā)表于 2005-11-16 22:59 |只看該作者
暈、我。。。。。。。。。。。。還以為、第一個文件,也是亂的呢。

論壇徽章:
0
10 [報告]
發(fā)表于 2005-11-16 23:08 |只看該作者
awk -F= ' $1 ~ /DRILL_SIZE/ { print $2 } ' a | sort -n > c

for i in ` cat c ` ; do

awk ' BEGIN { FS="[\n=]" ; RS=""} {  a[$19]=$0 } END { print a["'$i'"] } ' a

done

[[i] 本帖最后由 技安 于 2005-11-16 23:09 編輯 [/i]]
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP