24小时热门版块排行榜    

CyRhmU.jpeg
查看: 1119  |  回复: 5

meatball1982

铜虫 (小有名气)

[求助] 用shell或awk按要求提取数据

大家好。
我有一个原始文件(original.txt),三个index文件(ind_1.txt, ind_2.txt, ind_3.txt)。
我希望通过三个index文件,将original.txt文件中的参数写入到tar.txt中。
对于original,
如果第一列为数字,则将第二个"|"后的数字3(3 .034中间是有空格的)给tar.txt.然后根据ind_1.txt 中的序号,在1到221这141个数中的第33,第103,第140,第120个给tar.txt
当出现下一个第一列为数据时,把193 给tar,然后按ind_2.txt 提取数据。下同。
要求,
01.用shell和awk等脚本来实现。
02.要有注释以及明确的求解思路。

original.txt如下
CODE:
  1 | 141  0.043 |      3 .034 |      1      2      3      4      5      6     10
    |           |             |     11     12     14     15     16     17     18
    |           |             |     19     20     21     25     26     27     29
    |           |             |     30     31     32     33     34     40     41
    |           |             |     42     44     45     46     47     49     50
    |           |             |     51     55     57     59     60     61     62
    |           |             |     63     65     70     71     72     74     75
    |           |             |     76     77     78     80     81     83     85
    |           |             |     86     87     89     90     91     92     93
    |           |             |     94     95     96    100    101    102    104
    |           |             |    105    106    107    108    109    110    113
    |           |             |    115    116    117    119    120    121    123
    |           |             |    125    128    131    132    134    135    136
    |           |             |    137    138    140    143    146    147    149
    |           |             |    150    151    152    155    158    161    162
    |           |             |    164    165    166    167    168    169    170
    |           |             |    173    177    179    180    181    182    183
    |           |             |    184    185    188    191    192    194    195
    |           |             |    196    197    198    199    200    203    206
    |           |             |    209    210    211    212    213    214    218
    |           |             |    221
  2 |  35  0.035 |    193 .026 |      8      9     13     23     24     39     53
    |           |             |     54     58     68     69     84     88     99
    |           |             |    103    114    118    129    130    133    144
    |           |             |    145    148    159    160    163    175    178
    |           |             |    189    190    193    204    205    208    219
  3 |  12  0.043 |    124 .034 |     35     48     56     64     79     98    122
    |           |             |    124    139    153    154    176

ind_1.txt
CODE:
33        103        140        120

ind_2.txt
CODE:
12        21        19

ind_3.txt
CODE:
8        2       

tar.txt
CODE:
3
47
158
218
184
193
84
144
130
124
124
48

回复此楼

» 本帖附件资源列表

  • 欢迎监督和反馈:小木虫仅提供交流平台,不对该内容负责。
    本内容由用户自主发布,如果其内容涉及到知识产权问题,其责任在于用户本人,如对版权有异议,请联系邮箱:xiaomuchong@tal.com
  • 附件 1 : post_question.zip
  • 2013-12-16 21:11:52, 1.8 K

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

唉。还是学吧。
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

jerkwin

专家顾问 (正式写手)

你搞得这么复杂, 不知要做哪样
先自己好好设计下思路吧
否则弄出来了也是个dirty work
2楼2013-12-16 23:09:19
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

meatball1982

铜虫 (小有名气)

引用回帖:
2楼: Originally posted by jerkwin at 2013-12-16 23:09:19
你搞得这么复杂, 不知要做哪样
先自己好好设计下思路吧
否则弄出来了也是个dirty work

谢谢jerkwin的回复。
请问,我是没说清楚吗?
我有ind,从ind里对应到origina.txt中取数。
还是我例子说的不对?
唉。还是学吧。
3楼2013-12-17 09:13:19
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

jerkwin

专家顾问 (正式写手)

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
meatball1982(jjdg代发): 金币+20, 谢谢 2014-02-04 11:50:12
引用回帖:
3楼: Originally posted by meatball1982 at 2013-12-17 09:13:19
谢谢jerkwin的回复。
请问,我是没说清楚吗?
我有ind,从ind里对应到origina.txt中取数。
还是我例子说的不对?...

你说得算清楚
按你说的, 写脚本也可以实现
但是我还是建议你从原始文件开始, 处理时尽量少用中间文件
多一个步骤, 多一个文件, 出错的几率就大很多
写程序, 说到底就是个问题精炼, 逻辑锻炼过程
如果一直都按同样的方式来做, 写得再多进步也不大
DO NOT REPEAT YOURSELF
4楼2013-12-17 09:24:25
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

meatball1982

铜虫 (小有名气)

引用回帖:
4楼: Originally posted by jerkwin at 2013-12-17 09:24:25
你说得算清楚
按你说的, 写脚本也可以实现
但是我还是建议你从原始文件开始, 处理时尽量少用中间文件
多一个步骤, 多一个文件, 出错的几率就大很多
写程序, 说到底就是个问题精炼, 逻辑锻炼过程
如果一直都按 ...

非常感谢jerkwin。
您说的很有道理。我自己再尝试写一下。
下一次会把写作过程中更加具体的问题提出来。

关于“DO NOT REPEAT YOURSELF”。
非常同意。
再次感谢。
唉。还是学吧。
5楼2013-12-17 09:35:58
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

meatball1982

铜虫 (小有名气)

引用回帖:
4楼: Originally posted by jerkwin at 2013-12-17 09:24:25
你说得算清楚
按你说的, 写脚本也可以实现
但是我还是建议你从原始文件开始, 处理时尽量少用中间文件
多一个步骤, 多一个文件, 出错的几率就大很多
写程序, 说到底就是个问题精炼, 逻辑锻炼过程
如果一直都按 ...

非常感谢jerkwin。
您说的很有道理。我自己再尝试写一下。
下一次会把写作过程中更加具体的问题提出来。

关于“DO NOT REPEAT YOURSELF”。
非常同意。
再次感谢。
唉。还是学吧。
6楼2013-12-17 09:36:27
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 meatball1982 的主题更新
信息提示
请填处理意见