Как мне всегда создавать 4-значный последовательно пронумерованный и именованный файл с помощью сценария оболочки

Я использовал подсистему Windows для Linux. У меня был открыт каталог в другом экземпляре bash. Закрытие позволило мне переместить каталог.

-1
21.01.2020, 03:25
3 ответа

Этот код не требует внешнего инструмента из оболочки. Если вам нужен внешний инструмент, тогда да, seq — это ответ!

#!/bin/sh

NUMBER=1
MAX=11
while [ $NUMBER -lt $MAX ]; do
  file=$(printf '%04d.%s\n' "$NUMBER" "txt")
  printf '%s\n' "Creating" "$file"
  touch "$file" 
  NUMBER=$(( NUMBER+1 ))
done
printf "\n\nFINISHED!\n\n"

Тач можно заменить на >, если вы просто хотите создать пустые файлы.

0
28.01.2020, 05:11
#!/bin/sh

MIN=1
MAX=11
PADDING=4

for i in $(seq -f "%0${PADDING}g" $MIN $MAX); do
  file=${i}.txt
  printf "$file\n"
  touch $file
done

printf "\n\nFINISHED!\n\n"
0
28.01.2020, 05:11

Попробуйте также

seq -f">%04g.txt" "$MIN" "$MAX" |. /dev/stdin
0
28.01.2020, 05:11

Теги

Похожие вопросы