如何讓Bash取出特定序數? - Linux

Table of Contents

ls後有一堆長這樣子的檔案:

foo_001_bar
foo_002_bar
foo_004_bar
foo_005_bar
foo_007_bar
...
(注意序數不一定連續)

我想要像是指定[0-9]{3}的方法單獨取出「數字」,而不包括檔名中其他的東西;然後輸
出到$FILE_SERIAL陣列中:
001
002
004
005
007
...
原本想試試看用sed或awk做(我不知道方向有沒有錯誤...我是Shell Script初學者...),
但Google看了很久還是不知道該如何只取出數字。

謝謝。
--
defenser:我承認她們全都是我的後宮(  ̄ c ̄)y▇▇▇▇▇▇▇~※ 04/08 21:32
BSpowerx: ◤ 大砲 █● 04/08 21:34
cy0816: ▇▇▇▇▇▇▇▇▇▇04/08 21:35
Augustus5: ●04/08 21:35
LoveMakeLove: *******************04/08 21:35
Raptorjet:樓上那啥鬼04/08 21:38

--

All Comments

Sierra Rose avatarSierra Rose2011-08-22
我承認她們全都是我的後宮(  ̄ c ̄)y▇▇▇▇▇▇▇~※
Charlie avatarCharlie2011-08-23
◤ 大砲 █●
Ina avatarIna2011-08-25
▇▇▇▇▇▇▇▇▇▇
Aaliyah avatarAaliyah2011-08-30
Joe avatarJoe2011-09-02
*******************
Lucy avatarLucy2011-09-05
樓上那啥鬼
Caitlin avatarCaitlin2011-09-07
foo_ 跟 _bar 是固定的嗎?
Kyle avatarKyle2011-09-12
不一定
Hamiltion avatarHamiltion2011-09-15
不過大多數時候是固定的。
Odelette avatarOdelette2011-09-15
所以我還是希望取出特定兩位數/三位數
Xanthe avatarXanthe2011-09-20
cut -d "_" -f 2 可以取出兩個底線間夾的字串
Genevieve avatarGenevieve2011-09-21
我用foo_bar只是範例,實際名稱有一堆底線...
Delia avatarDelia2011-09-25
這可能要用到正規表示式才行了
Christine avatarChristine2011-09-25
最好是給個實際例子才容易給建議...
Xanthe avatarXanthe2011-09-28
tr -d '[:punct:][:alpha:]' ?