Change Extension in Loops - GarzaLab/Documentation GitHub Wiki

##Remove extension in loop

###Use %.*, works like a charm, removing the extension.

for f in *.mnc; do mnc2nii ${f} ${f%.*}.nii; done

for f in *.nii; do nii2mnc ${f} ${f%.*}.mnc; echo ${f%.*}.mnc; done

For removing any character from the rear just use % then a wildcard. for example:

for f in ?????_sc+orig.*; do 3dvolreg -prefix ${f%????????.*}_scmc

For removing any character from the beginning, use # instead of %:

AD_022.txt to 022.txt

mv $f ${f#???}

For removing folder path and also change the name:

basename $file

for file in preproc/*n4correct.beastmask.mnc; do echo cp ${file} ct2/input/addimex_basename ${file%%???????.*}_mask.mnc; done

cp preproc/HC_095_t1_iso1mm.anlm_denoise.n4correct.beastmask.mnc ct2/input/addimex_HC_095_t1_mask.mnc

Truco para usar una lista TXT de archivos para copiar

cat templates.txt| while read i; 

do 

cp -v preproc_data/${i%%???????.*}.clean_and_center.n4correct.cutneckapplyautocrop.mnc subcort/hippocampus-amygdala/input/templates/brains/${i%%???????.*}.clean_and_center.n4correct.cutneckapplyautocrop.mnc; done

i = cada linea.

Add "0" in R in front of ID.

formatC(NAME, width = 2, format = "d", flag = "0")

For example: 0001, 0035

db$id <- formatC(db$id, width = 4, format = "d", flag = "0")