我想提取一段代码中出现的所有文件名
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
答案 0 :(得分:0)
假设您对以斜杠开头的绝对路径感兴趣,则可以使用以下正则表达式进行捕获,
\/[\w+.\/-]+(?= |$)
您可以将文本放在名为myfile的文件中,然后运行此命令,
cat myfile|grep -oP '\/[\w+.\/-]+(?= |$)'
OR
grep -oP '\/[\w+.\/-]+(?= |$)' myfile
这会按照您希望的方式打印以下输出
/etc/passwd
/etc/issue
/etc/pam.d/system-auth