ФорумРазработкаУстановка и администрирование ПОРазное ПО → Как на баше вывести пути к файлам из директории с пробелом в имени

Как на баше вывести пути к файлам из директории с пробелом в имени

  • kostyl

    Сообщения: 5210 Репутация: N Группа: Джедаи

    Spritz 16 ноября 2015 г. 23:50

    Вообще запускаю скритп в папке где есть папка c пробелом в имени "My Project":

    
    for path in `find 'My Project' -name '*.*'`; do
        echo $path
    done
    

    Он мне выдаёт типа шесть путей

    
    My
    Project/.DS_Store
    My
    Project/1.pdf
    My
    Project/2.jpg
    

    Можно как то что бы было норм? И получилось три путя:

    
    My Project/.DS_Store
    My Project/1.pdf
    My Project/2.jpg
    
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 16 ноября 2015 г. 23:53, спустя 3 минуты 37 секунд

    тебе нужно xargs по всей видимости

    Спустя 56 сек.

    for xxx in zzz производит split по zzz по всем пробельным символам и выполняет пробег по непустым значениям

    Сапожник без сапог
  • kostyl

    Сообщения: 5210 Репутация: N Группа: Джедаи

    Spritz 17 ноября 2015 г. 0:10, спустя 16 минут 30 секунд

    xargs

    @phpdude, спасибо бро

  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 17 ноября 2015 г. 0:11, спустя 1 минуту 35 секунд

    @kostyl, нз

    Спустя 122 сек.

    если тебе не лень, то проверь вот этот метод еще, с виду кажется рабочим.

    
    cat names.txt|while read line; do
        echo "$line";
    done
    

    Спустя 52 сек.

    в твоем случае конечно

    
    find 'My Project' -name '*.*'|while read line; do
        echo "$line";
    done
    
    Сапожник без сапог
  • kostyl

    Сообщения: 5210 Репутация: N Группа: Джедаи

    Spritz 17 ноября 2015 г. 0:42, спустя 30 минут 49 секунд

    Спасибо @phpdude, да получается, надо именно find | while . Второй норм. Я нашел такой

    find 'My Project' -name "*.*" -print0 | while IFS= read -r -d '' file; do
        echo $file
    done
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 17 ноября 2015 г. 0:44, спустя 1 минуту 41 секунду

    @kostyl, ок)

    Сапожник без сапог

Пожалуйста, авторизуйтесь, чтобы написать комментарий!