各位先進好 我想使用一些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