利用 Script 批次選取檔案? - Linux

Ula avatar
By Ula
at 2010-03-29T17:30

Table of Contents

我現在手上有一群檔案,檔名從 Test0001.int 一直編到 Test0540.int
也就是一共 540 個序列檔案

而這 540 個檔案中每 9 個構成一組,
因此,如果我想要挑每一組的第一個檔案分析,
我就必須從這裡面選取

Test0001.int Test0010.int Test0019.int Test0028.int
Test0037.int Test0046.int Test0055.int ...

也就是取出編號 Mod 9 = 1 的所有檔案

如何利用 bash script, 把特定的檔案 (say, mod 9 = 1)
複製到給定子目錄 (say, 1mod9) 之下呢?

------------ 基本的想法
mod9.sh

#!/bin/bash
K = $1

# 如果 ../$1.."mod9" 這個子目錄不存在的話建立

while [如果找得到 "Test"..$K..".int" 這個檔案]
# 這很麻煩,K我必須把不滿四位數的前面填零
# Bash Script 下,字串可以這樣直接串嗎?
do
cp "Test"..$K..".int" ../$1.."mod9"
# 相對目錄我也不知道要怎麼表達 Orz
K = $K + 9
done

-------------
$1 相當於 c++ 的 argv[1],所以我只要打 ./mod9.sh 1
就能把當前目錄下的那些檔案都複製一份到指定目錄...... 希望 0.0"

感覺是可行,不過這些指令上的細節不知道該怎麼寫
我幾乎沒自己寫過 bash script, 平常頂多是拿別人寫好現成的改一改
有請各位協助,謝謝

--
Tags: Linux

All Comments

Hedda avatar
By Hedda
at 2010-04-02T00:06
seq -f "Test%04g" 1 9 100
Zenobia avatar
By Zenobia
at 2010-04-02T09:12
把檔名輸出成字串後,整批cp到新目錄就好
或是你堅持要用mod的話,試試expr
Eartha avatar
By Eartha
at 2010-04-04T05:07
總之shell script偏向於字串的操作,寫數學相關的不妨用C
Rachel avatar
By Rachel
at 2010-04-05T13:51
用一個變數下去 iterate,使用 $(( )) 語法支援 + 和 %

架設平行運算電腦

Mary avatar
By Mary
at 2010-03-29T15:20
※ 引述《k3asuper (希望的情歌)》之銘言: 妳們這種情況, 如果沒錢購置機台, 我個人建議是使用VCLOUD然後把舊server處理掉 太舊的電腦跑平行運算, 搞到後來比不上買一台1萬元左右的機器 平行運算的機器(server)一般來說都是特殊設計, 網路傳輸和運算邏輯都要很有要求, 粗製濫造只會造 ...

Squid Proxy 之兩組不同權限ACL設定問題??

Callum avatar
By Callum
at 2010-03-29T14:51
大家好 我又有問題要問大家了... 目前情況是這樣... A組人 跟B組人都會用我架設的proxy上網.... 我有在squid上限制只能上去某些網站(如只能上氣象局),其它全擋掉... 可是現在出現了B組人,而這B組人是能連大部份的網站(包括氣象局), 但又要限制一些網站(如Y拍網站)..... ...

轉址到內部主機

Michael avatar
By Michael
at 2010-03-29T14:17
我有三台電腦a.b.c 已區網連接 其中有一台(a)可對外對內 在a b c都架了網頁 想請問如何用a連到b.c的網頁 在 apache可以設定嗎? os:linux cent5 - ...

Ubuntu 9.10 金鑰問題

Eartha avatar
By Eartha
at 2010-03-29T09:55
※ 引述《lante (ccy.twbbs.org)》之銘言: : 在做 apt-get update 時 : 出現以下信息 : W: GPG error: http://ppa.launchpad.net karmic Release: 由於無法取得它們的公鑰 : ,以下簽章無法進行驗證: NO_PUBKE ...

影片編輯軟體

Callum avatar
By Callum
at 2010-03-29T09:50
我用Avidemux有找到一個功能是把同一個影片分割成9格一樣的畫面 但我希望那9格不是同一個,而是9個不同的影片 有辦法這樣嗎? 我想做的效果如下: 一個黑背景的畫面,在中間播放著畫面1/4大小的a影片 然後a影片縮小到背景左上角,中間1/4的部份播放b影片 然後b影片縮小到背景上,沿著a排列下 ...