Как я извлекаю пути к файлам из текстового файла?

У меня есть файл, который имеет список путей, например, так:

"1" "/user/bin/share" "2" "/home/user/.local" "3" "/root/" 

Есть ли способ извлечь только пути? Я не хочу цифры или кавычки. Как я могу sed или grep пути из файла? Какое регулярное выражение потребуется для такой задачи?

4 Solutions collect form web for “Как я извлекаю пути к файлам из текстового файла?”

Если все пути начинаются с / , вы можете просто сопоставить / следовать последовательности не- " символов:

 $ grep -o '/[^"]*' file /user/bin/share /home/user/.local /root/ 

В качестве альтернативы, для более структурированного подхода используйте awk чтобы убрать кавычки и напечатать только второе поле:

 awk '{gsub(/"/,"",$2); print $2}' file 

Предполагая, что пути не содержат символов новой строки,

 $ sed 's/^.*[[:blank:]]"//; s/"$//'  

Сначала код sed удаляет все в каждой строке вплоть до первого символа " включая " которому предшествует пробел (пробел или табуляция), а затем удаляет " в конце».

Это позволяет путям содержать пробелы и встроенные " символы, но не комбинацию пробел + " .

Почему бы не простой

 awk -F\" '{print $4}' file /user/bin/share /home/user/.local /root/ 

Работа?

Простой подход Выньте поле № 4 с кавычками в качестве разделителей, используя cut .

 $ cut -f4 -d\" file /user/bin/share /home/user/.local /root/ $ 
  • Группировка в строки на основе того же последнего столбца
  • Пробуждение строки, сопровождаемое '\ n'
  • найти строки, совпадающие с другим файлом, и сохранить их в отдельном файле
  • Разобрать вывод с динамической шириной столбца и пустыми полями
  • sed заменяет соответствующую строку, которая не начинается с #
  • Отфильтровать 2-й вхождение текста между цитатами с помощью sed?
  • Как удалить инверсные пары совпадений?
  • поиск шаблонов пар с использованием awk
  • Пробуждение к среднему столбцу на основе ключа во 2-м столбце
  • Как извлечь номер из строки
  • Вставить многострочный текст перед первой соответствующей строкой в ​​файле
  • Interesting Posts

    Любой инструмент для сохранения символических ссылок?

    Есть ли менеджер обновлений без зависимостей gnome для xfce?

    Как написать регулярное выражение для поиска строк с фиксированной длиной с хотя бы одним вхождением символа

    Как удалить файлы с пробелами в них в сценарии bash?

    Получение современной rss2email для ссылки на ссылки Markdown

    Как найти PID процесса, который владеет пойманным пакетом с libpcap в c?

    Почему я продолжаю уничтожать свои текстовые файлы?

    Как выполнить несколько команд вместе в фоновом режиме?

    Lightdm: запуск среды рабочего стола в зависимости от того, какой пользователь вошел в систему

    Проблемы с установкой Arch Linux

    Vagrant: возможно ли использовать Vagrant с VMWare в качестве поставщика без оплаты?

    Заменить временной столбец текущим временем

    Каков порядок, в котором динамический компоновщик Linux ищет пути?

    Цвета не отображаются правильно в oh-my-zsh-темах

    mkdir дает разные ошибки (разрешение отклонено против файла существует) в зависимости от того, был ли доступ к каталогу недавно

    Linux и Unix - лучшая ОС в мире.