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

Irma avatar
By Irma
at 2010-03-29T18:26

Table of Contents

#!/bin/bash
echo mkdir $1
mkdir $1

for i in *.int
do
j=${i:4:4}
if [ $(($j%9)) == 1 ]
then
echo cp "Test"$j".int" "$1/"
cp "Test"$j".int" "$1/"
fi

done


希望有幫助

※ 引述《TacoEater (ABBBB ABBAAA)》之銘言:
: 我現在手上有一群檔案,檔名從 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

Harry avatar
By Harry
at 2010-04-01T03:25
萬分感謝
Hardy avatar
By Hardy
at 2010-04-04T23:15
發現一個問題,0開頭的數字會被當8進位,所以要10#$j

如何透過wicd連上無線網路

Zanna avatar
By Zanna
at 2010-03-29T18:21
家裡無線網路的配置是把無線基地台當作橋接器使用 也就在windows的環境下,須要先連上無線網路,在撥接ADSL才能上網 但是在ubuntu底下就摸不著頭緒了 不裝wicd,根本看不到無線網路 裝了wicd之後,看的到無線網路,但是連線之後總是出現無法取得 IP的錯誤訊息 如何解決呢? - ...

開機時跑到initramfs?

Christine avatar
By Christine
at 2010-03-29T17:37
週末轉到久久沒開過的WinXP系統,再轉回kubuntu時,悲劇發生了... Gave up waiting for root device. Common problems: -Boot args (cat /proc/cmdline) -Check rootdelay= (did the system ...

利用 Script 批次選取檔案?

Ula avatar
By Ula
at 2010-03-29T17:30
我現在手上有一群檔案,檔名從 Test0001.int 一直編到 Test0540.int 也就是一共 540 個序列檔案 而這 540 個檔案中每 9 個構成一組, 因此,如果我想要挑每一組的第一個檔案分析, 我就必須從這裡面選取 Test0001.int Test0010.int Test ...

cross-compile的檔案無法執行@@?

Dorothy avatar
By Dorothy
at 2010-03-29T16:32
我有台小機器,跑linux montavista cpu是armv5tejl 在windows上我裝設了cygwin作為cross-compile的環境 並且寫了一個簡單的程式 #include andlt;iostreamandgt; int main() { return 0; } 使 ...

架設平行運算電腦

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