作者kioskyline (專業的路人)
看板Linux
標題[問題] 根據檔案名字來分送檔案到資料夾
時間Wed Oct 7 19:07:29 2015
各位大神好,小弟在這裡就不在這裏裝作小妹了
我遇到一個問題想請教各位
------------------分隔線------------------
案例簡介:
就是,我目前有台NAS,我希望將某一個資料夾裡
面的檔案,能夠分配到其他的資料夾裡面,因此要
寫個命令
檔案格式:
目前被分配檔案的資料夾及被分配的檔案都具有
同樣的字段部分,舉例如下:
檔案名稱:109.0.01_
100.txt
資料夾名稱:User-
100
希望進行的動作是這樣的:
1>>Find /volume1....找到檔案路徑及名字
(因為有多個檔案)
2>>分配到對應的資料夾裡
(比如100>User-100的資料夾)
因此為了要完成上述步驟,可能需要用到字段擷取
再透過傳變數方式定位到資料夾(我心裡是這樣想的)
不知道有木有大神能夠協助我寫這個指令,這對linux
新手如我,實在有點難度
--
推 godtomanne:alt+f4沒有用? 9/10 00:18
→ alt:去你媽的 9/10 00:24
噓 F4:你才沒用 9/10 00:25
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 116.236.247.241
※ 文章網址: https://www.ptt.cc/bbs/Linux/M.1444216055.A.E88.html
※ 編輯: kioskyline (116.236.247.241), 10/07/2015 19:10:48
→ HamalAri: bash 環境的話: mv ./*_100.txt ./User-100 10/07 21:30
→ HamalAri: 除非你有很多層子資料夾,不然不需要出動 find 10/07 21:31
→ kioskyline: 是这样的 我有很多个档案 每个档案号码不一样 100只是 10/07 23:10
→ kioskyline: 其中一个 10/07 23:10
→ kioskyline: 按到殘體字了... 10/07 23:12
→ kioskyline: 要分配的檔案在同一個資料夾 但數量不定 10/07 23:13
→ kioskyline: 或是寫Script好像也是可以的 但是我不太會用... 10/07 23:14
→ OSDBNetwork: 題意看得不是很清楚,一個for loop應該可以解決 10/08 00:20
→ OSDBNetwork: 給個提示,或許會用到sed "s/\(.*\)_\(.*\).txt/\2/g" 10/08 00:23
→ HamalAri: for i in `ls -d */|sed 's/.*-//g'`; do 10/08 13:59
→ HamalAri: mv ./*_${i}.txt ./User-${i}/ 10/08 13:59
→ HamalAri: done 10/08 13:59
→ kioskyline: 感謝兩位大大 我先試試看 不行的話再上來請教各位 10/09 13:37