LINUX.ORG.RU

Построчная обработка значений

 ,


0

0

Доброго времени суток! Такие темы уже были, но ни у кого не возникало схожих проблем, как я понял. Помогите разобраться, пожалуйста.

Есть текстовый файл, в котором 30 тысяч числовых записей. Одно число = одна строка. Почти на каждое число из этого файла есть директория, в которую я хочу заходить и как-то обрабатывать содержащиеся в ней файлы.

#!/bin/bash

FILE_TO_READ=/home/vova/id_test.dat

cat $FILE_TO_READ | while read line
do
    ls /home/vova/img/images/$line
done

exit 0

Вот какие ошибки я получаю при выполнении, хотя такие директории существуют:

: No such file or directorya/img/images/15
: No such file or directorya/img/images/39
: No such file or directorya/img/images/219792
: No such file or directorya/img/images/49124
И т.п.

Нашел проблему. Добавлялся ^M в конец строки, т.к. файл копировался из винды.

правильнее будет

#!/bin/bash

while read line
do
    ls "/home/vova/img/images/$line"
done <$FILE_TO_READ

Добавлялся ^M в конец строки, т.к. файл копировался из винды.

лекарство: sed 's/\s*$//'

emulek ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.