Re: [問題] 利用 Script 批次選取檔案?
#!/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, 平常頂多是拿別人寫好現成的改一改
: 有請各位協助,謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.109.234.170
推
03/29 22:32, , 1F
03/29 22:32, 1F
推
03/29 23:04, , 2F
03/29 23:04, 2F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):