سلام دوستان
من 48 فایل با نام 01 تا 48 دارم و میخوام نامهاشون رو به ترتیتب با اسامی ای که در یک فایل txt ذخیره شده، عوض کنم.
نام فایلها:
01.nii.gz 06.nii.gz 11.nii.gz 16.nii.gz 21.nii.gz 26.nii.gz 31.nii.gz 36.nii.gz 41.nii.gz 46.nii.gz
02.nii.gz 07.nii.gz 12.nii.gz 17.nii.gz 22.nii.gz 27.nii.gz 32.nii.gz 37.nii.gz 42.nii.gz 47.nii.gz
03.nii.gz 08.nii.gz 13.nii.gz 18.nii.gz 23.nii.gz 28.nii.gz 33.nii.gz 38.nii.gz 43.nii.gz 48.nii.gz
04.nii.gz 09.nii.gz 14.nii.gz 19.nii.gz 24.nii.gz 29.nii.gz 34.nii.gz 39.nii.gz 44.nii.gz
05.nii.gz 10.nii.gz 15.nii.gz 20.nii.gz 25.nii.gz 30.nii.gz 35.nii.gz 40.nii.gz 45.nii.gz
فایل متنی:
frontal_pole
insular_cortex
superior_frontal_gyrus
middle_frontal_gyrus
inferior_frontal_gyrus_pars_triangularis
inferior_frontal_gyrus_pars_opercularis
precentral_gyrus
temporal_pole
superior_temporal_gyrus_anterior_division
superior_temporal_gyrus_posterior_division
middle_temporal_gyrus_anterior_division
middle_temporal_gyrus_posterior_division
middle_temporal_gyrus_temporooccipital_part
inferior_temporal_gyrus_anterior_division
inferior_temporal_gyrus_posterior_division
inferior_temporal_gyrus_temporooccipital_part
postcentral_gyrus
superior_parietal_lobule
supramarginal_gyrus_anterior_division
supramarginal_gyrus_posterior_division
angular_gyrus
lateral_occipital_cortex_superior_division
lateral_occipital_cortex_inferior_division
intracalcarine_cortex
frontal_medial_cortex
juxtapositional_lobule_cortex
subcallosal_cortex
paracingulate_gyrus
cingulate_gyrus_anterior_division
cingulate_gyrus_posterior_division
precuneous_cortex
cuneal_cortex
frontal_orbital_cortex
parahippocampal_gyrus_anterior_division
parahippocampal_gyrus_posterior_division
lingual_gyrus
temporal_fusiform_cortex_anterior_division
temporal_fusiform_cortex_posterior_division
temporal_occipital_fusiform_cortex
occipital_fusiform_gyrus
frontal_operculum_cortex
central_opercular_cortex
parietal_operculum_cortex
planum_polare
heschls_gyrus
planum_temporale
supracalcarine_cortex
occipital_pole
نتیجه مطلوب:
angular_gyrus.nii.gz middle_temporal_gyrus_temporooccipital_part.nii.gz
central_opercular_cortex.nii.gz occipital_fusiform_gyrus.nii.gz
cingulate_gyrus_anterior_division.nii.gz occipital_pole.nii.gz
cingulate_gyrus_posterior_division.nii.gz paracingulate_gyrus.nii.gz
cuneal_cortex.nii.gz parahippocampal_gyrus_anterior_division.nii.gz
frontal_medial_cortex.nii.gz parahippocampal_gyrus_posterior_division.nii.gz
frontal_operculum_cortex.nii.gz parietal_operculum_cortex.nii.gz
frontal_orbital_cortex.nii.gz planum_polare.nii.gz
frontal_pole.nii.gz planum_temporale.nii.gz
heschls_gyrus.nii.gz postcentral_gyrus.nii.gz
inferior_frontal_gyrus_pars_opercularis.nii.gz precentral_gyrus.nii.gz
inferior_frontal_gyrus_pars_triangularis.nii.gz precuneous_cortex.nii.gz
inferior_temporal_gyrus_anterior_division.nii.gz subcallosal_cortex.nii.gz
inferior_temporal_gyrus_posterior_division.nii.gz superior_frontal_gyrus.nii.gz
inferior_temporal_gyrus_temporooccipital_part.nii.gz superior_parietal_lobule.nii.gz
insular_cortex.nii.gz superior_temporal_gyrus_anterior_division.nii.gz
intracalcarine_cortex.nii.gz superior_temporal_gyrus_posterior_division.nii.gz
juxtapositional_lobule_cortex.nii.gz supracalcarine_cortex.nii.gz
lateral_occipital_cortex_inferior_division.nii.gz supramarginal_gyrus_anterior_division.nii.gz
lateral_occipital_cortex_superior_division.nii.gz supramarginal_gyrus_posterior_division.nii.gz
lingual_gyrus.nii.gz temporal_fusiform_cortex_anterior_division.nii.gz
middle_frontal_gyrus.nii.gz temporal_fusiform_cortex_posterior_division.nii.gz
middle_temporal_gyrus_anterior_division.nii.gz temporal_occipital_fusiform_cortex.nii.gz
middle_temporal_gyrus_posterior_division.nii.gz temporal_pole.nii.gz
هر بار که با این مسئله برخورد کردم نتونستم اسکریپت مناسبی براش بنویسم و در نهایت مثل اینبار به صورت دستی نام ها رو تغییر دادم.
ممنون میشم راهنماییم کنید چطور میتونم اینکار رو با اسکریپت انجام بدم
یه سوال دیگه هم داشتم که مربوط به همین مشکل میشه
آیا روشی هست که در دستور پایین متغیر number$ که در انتهای دستور قرار داره رو برای متغییر یک حلقه for تعریف کنیم؟
ls | awk -v number=$number 'BEGIN{ RS = "" ; FS = "\n" }{print $number}'
یعنی درون یک حلقه number اعداد 1 تا 48 رو بگیره
ممنون ازتون