Как извлечь имена файлов из фрагмента кода - PullRequest
0 голосов
/ 23 ноября 2018

Я хочу извлечь все имена файлов, которые входят в фрагмент кода, например

a=`cut -d: -f 3 /etc/passwd | sort | uniq` | awk `{print $2}`
"if [ -n "$a" ];",
"then for i in `echo "$a"`; do awk -F:
...
;done; else echo "error";fi" cat /etc/issue ... 
/etc/pam.d/system-auth
(/deny=/)

Как и в этом коде, я хочу получить эти файлы - / etc / passwd, / etc / issue и/etc/pam.d/system-auth

1 Ответ

0 голосов
/ 23 ноября 2018

Предполагая, что вас интересуют абсолютные пути, начинающиеся с косой черты, вы можете использовать следующее регулярное выражение для захвата:

\/[\w+.\/-]+(?= |$)

Демо

Вы можете поставить свойтекст в файле скажет myfile, а затем запустите эту команду,

cat myfile|grep -oP '\/[\w+.\/-]+(?= |$)'

ИЛИ

grep -oP '\/[\w+.\/-]+(?= |$)' myfile

Это выводит следующий вывод так, как вы хотите,

/etc/passwd
/etc/issue
/etc/pam.d/system-auth
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...