Что-то вроде этого должно работать (я не проверял это):
while read num rest; do
echo "$num $rest" >> "filename.$num"
done < inputFile
read
прочитает строку текста, а затем разделит ее на пустое пространство на «слова», как, например,запустить команду.Он назначит первое «слово» первому имени переменной (num
в данном случае - которое получит число), второе «слово» второму имени переменной (rest
) и т. Д.Если в нем заканчиваются переменные, он добавит остаток строки к последней переменной (rest
, здесь).
Когда read
обрабатывает строку успешно, она возвращает ноль, что является «успехом»в сценариях оболочки, поэтому цикл while
будет продолжаться, читая последующие строки.Когда read
достигает конца файла, он возвращает 1, останавливая цикл while
.