Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > [Bash] Чтение файла.


Автор: Pakshin A. S. 6.10.2007, 16:39
Дана задача: написать командный файл, который читает файл, указанный первым параметром, в котором хранится список имен файлов, и применяющий команду передающуюся вторым параметром ко всем записям из прочитанного файла.

Как прочитать весь файл? Было реализовано чтение путем передачи управнения вводом в приложение на файл с последющим употреблением команд чтения, но выяснлсь, что последнии строки не читаются. Решение указал препод: нужно просто в читаемый файл добавить парочку пустых строк для корректного чтения. Но фишка в том, что все-таки файл не чиаеся полносю, а читается только первая строка. Приведите примеры того, как можно прочесть файл построчно.

Заранее огромное спасибо.

Автор: nickless 6.10.2007, 22:59
Цитата(Pakshin A. S. @  6.10.2007,  15:39 Найти цитируемый пост)
Приведите примеры того, как можно прочесть файл построчно

Код
#!/bin/bash

i=1
while read -r xx; do
    printf "%.3d : %s\n" "$i" "$xx"
    ((i++))
done < $1
printf "%.3d : %s\n" "$i" "$xx"

Выводит все строки из файла, переданного 1-м параметром с их номером, даже если в конце файла нет EOL.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)