Я хочу, щоб mv
усі файли, що починаються з 'x', потрапляли в каталог 'x'; щось на зразок:
mv path1/x*.ext path2/x
і зробіть це для всіх літер алфавіту a, ..., z
Як я можу написати скрипт bash, який робить цикли 'x' в алфавіті?
Я хочу, щоб mv
усі файли, що починаються з 'x', потрапляли в каталог 'x'; щось на зразок:
mv path1/x*.ext path2/x
і зробіть це для всіх літер алфавіту a, ..., z
Як я можу написати скрипт bash, який робить цикли 'x' в алфавіті?
Відповіді:
for x in {a..z}
do
echo "$x"
mkdir -p path2/${x}
mv path1/${x}*.ext path2/${x}
done
"$x"
буває достатньо і кращого способу виділити його.
ось як згенерувати іспанський алфавіт за допомогою вкладеного розширення фігурних дужок
for l in {{a..n},ñ,{o..z}}; do echo $l ; done | nl
1 a
...
14 n
15 ñ
16 o
...
27 z
Або просто
echo -e {{a..n},ñ,{o..z}}"\n" | nl
Якщо ви хочете створити застарілий 29 символів іспанського алфавіту
echo -e {{a..c},ch,{d..l},ll,{m,n},ñ,{o..z}}"\n" | nl
Подібне можна зробити для французького алфавіту або німецького алфавіту.
З великими літерами також
for letter in {{a..z},{A..Z}}; do
echo $letter
done
Це питання та відповіді частково допомогли мені вирішити мою проблему.
Мені потрібно було переглядати частину алфавіту в bash.
Хоча розширення носить строго текстовий характер
Я знайшов рішення: і зробив це ще простішим:
START=A
STOP=D
for letter in $(eval echo {$START..$STOP}); do
echo $letter
done
В результаті чого:
A
B
C
D
Сподіваюся, це корисно для тих, хто шукає ту саму проблему, яку мені довелося вирішити, і опиняється тут також