Проблема с командами ls -l и grep в скрипте bash - PullRequest
0 голосов
/ 09 мая 2018

У меня есть кусок кода, и я хочу, чтобы он искал строку по определенному пути. Скрипт будет принимать входные строки из входного файла, используя цикл while. По сути, я хочу прочитать этот файл построчно и попытаться выяснить, существует ли содержимое этой строки в определенном пути или нет.

#!/bin/bash

filename='/input.txt'
path=/

while read -r line
do
    res=`ls -l $path | grep $line`
    echo "$res"
done < "$filename"

1 Ответ

0 голосов
/ 10 мая 2018

Вместо ls используйте find:

find $file -maxdepth 1

Если вам нужно grep для полных путей, убедитесь, что вы передаете абсолютный / канонический путь к find:

find `readlink -f $file` -maxdepth 1
...