2013-07-31 47 views
0

我有一個目錄中的文件與格式如何將文件名稱指定爲輸入目錄的一部分?

- 0163-301_02_29_2008_off.nii 
- 0163-301_02_29_2008_on.nii 
- 0164-303_11_30_2007_off.nii 
- 0164-303_11_30_2007_on.nii 

我想運行,涉及這些文件作爲輸入的名稱的命令。地址路徑爲

/Users/jjuan/Documents/MTAutism/new_MTR_datasets/UsableNii/0163-301_02_29_2008_off.nii

等等。

到目前爲止,我已經這是我寫

for file in *_on.nii; do 

set fileroot = ${file} cut -b 1-78 
echo $fileroot 

/usr/local/fsl414/bin/flirt -in $file  -ref /Users/jjuan/Documents/MTAutism/new_MTR_datasets/UsableNii/$fileroot_off.nii -out /Users/jjuan/Documents/MTAutism/new_MTR_datasets/UsableNii/$fileroot_ontooff -omat /Users/jjuan/Documents/MTAutism/new_MTR_datasets/UsableNii/$fileroot_ontooff.mat -bins 256 -cost corratio -searchrx -90 90 -searchry -90 90 -searchrz -90 90 -dof 6  -interp trilinear 

done 

然而,$ fileroot組沒有出現在指定的路徑中的代碼,並僅OUPUTS一個空格。

回答

0

解決您的變量命名,對於初學者:

for files in *_on.nii; do 
    ^^^^^- files with an S 

set fileroot = ${file} cut -b 1-78 
       ^^^^-- -file WITHOUT an S 
+0

對不起,我已經糾正過,但得到同樣的問題。 – Justin

+0

'set'也是不正確的。這不是你如何調用剪切,或通過一個文件名來切... –

+0

你能幫我糾正一下嗎?我對bash編碼非常陌生,但我不確定那部分有什麼問題 – Justin

0

不使用set,因爲它的目的是爲了操縱外殼選項/變量,而不是使用:

fileroot="$(echo ${file} | cut -b 1-78)" 

也確保以括號括起fileroot變量的引用,即${fileroot}_ontooff來限定變量名稱

+0

我試過了,但是它似乎把它看成是''/ Users/jjuan/Documents/MTAutism/new_MTR_datasets/UsableNii/_ontooff'' – Justin

+0

'echo $ file的輸出是什麼; echo $ {file} | cut -b 1-78'?並且你是否需要按字節進行切分,按字符進行,'-c',可以更容易閱讀 – Alex

+0

我將其更改爲-c 我得到的輸出是'-bash:local:只能用於函數 **錯誤(nifti_image_read):找不到'/ Users/jjuan/Documents/MTAutism/new_MTR_datasets/UsableNii /'的頭文件**錯誤:nifti_image_open(/ Users/jjuan/Documents/MTAutism/new_MTR_datasets/UsableNii /) :壞頭信息' – Justin

0

我不太滿意嗷嗷你想要什麼,但如果你想改變0163-301_02_29_2008_on.nii0163-301_02_29_2008_off.nii

cd /Users/jjuan/Documents/MTAutism/new_MTR_datasets/UsableNii 
for on_file in *_on.nii; do 
    off_file=$PWD/${on_file/on.nii/off.nii} 
    # Do something with off_file 
done 

上述替換「on.nii」與「off.nii」

更新

我改變了代碼以包含每個請求的完整路徑。

+0

我怎麼能把這個off_file放到一個路徑中?如 '/ Users/jjuan/Documents/MTAutism/new_MTR_datasets/UsableNii/$ off_file' – Justin

+0

如果您已在該目錄中,請使用變量$ PWD。查看我更新的代碼。 –

相關問題