回文章列表
作者websterskimo.bbs@ptt.cc (愛莎妮亞) 看板: linux
標題[問題] 一個文書處理的問題
時間批踢踢實業 (2008/04/07 Mon 19:31:44)
各位先進好

我想使用一些unix的指令來完成一個截取檔案某一行文字訊息時卡住

比如說我在目錄下有N個檔案a.txt、b.txt、c.txt、...、N.txt

檔案格式如下


133  1_0_1_1; 13300
147  0_1_0_0; 14700
153  1_1_0_0; 15300
.......
.......
.......(依序如下產生文字格式)
.......
.......
313  1_1_0_1; 31300
@END



N個檔案中,我希望能夠得到以下條件

1、產生的檔案格式都相同

2、長度不一定相同(ie.a.txt長度到313、b.txt長度到733、...、N.txt到512)

3、我所需要的都是倒數第二行中最前面的數字(ie. 313、733、...、512)

4、除了得到倒數第二行的數字外,還要知道是那個檔案產生的數字



所以我想到用grep、head、tail、cut等指令去把倒數第二行資訊截取出來,

: grep  ';' *.txt | tail -2 | head -1 | cut -d '(空白)' -f 1  >  out.log

但是show結果是   N.txt:512

或者是先用tail、head等指令,這樣子就只得到數字,但不知是那個檔案產生的

這都和下面想要得到的結果訊息不一樣

a.txt:313
b.txt:733
....
....
....
N.txt:512


所以我想請問,我應該要怎麼改寫比較洽當


謝謝

--
※ 發信站: 批踢踢實業坊(ptt.cc) 
◆ From: 203.74.180.10
文章選讀←離開[主題上]主題下(k)上篇(j)下篇S/a搜尋 G串列 TAB精華 ↑↓捲 Pg/Space翻