LINUX.ORG.RU

bash - простой скрипт чтение строк файла

 


0

2

Всем привет!

написал небольшой скрипт, который читает строки из файла и запускает поиск в текущей директории по найденной строке.

проблема в том, что find ничего не находит (не выводит)

не могу понять почему

разработку веду в win, cygwin, bash, emacs

files.txt имеет unix кодировку

#!/usr/bin/bash

FILE="files.txt"

while read -r line; do
    echo "$line"
    result=$(find . -name "$line")
    echo "result: $result"
done < "$FILE"

files.txt содержит имена файлов для поиска



Последнее исправление: dark-initr0 (всего исправлений: 1)

А вот это result=$(find . -name "$line") не код завершения программы разве возвращает?
Отвечу себе: нет.

Я протестировал у себя этот скрипт ТС и он работает без каких-либо изменений. Так что не очень понятно, что у ТС не так. УМВР.

PeleWin
()
Последнее исправление: PeleWin (всего исправлений: 1)

всем большое спасибо за предложенные варианты решения.

при отладке обратил внимание на присутствие \r в конце строки из читаемого файла (она является названием файла, который ищется)

вот такая строчка при отладке

++ echo $'1.txt\r'

сделал удаление этого символа и скрипт заработал

line=$(echo "$line" | sed s/\\r//g)
dark-initr0
() автор топика