我尝试使用
find ./ -type f -name '*.php' -exec grep -slE '^asdasd' {} \;
和
find ./ -type f -name '*.php' -exec pcregrep -l '^asdasd' {} \;
但是这个命令找到了文件,其中'asdasd'在行的开头,而不是所有文本,例如:
文件内容:
qweqwe
asdasd
czczc
我想查找仅包含此文件内容的文件:
asdasd
qwdq
qwdad
(所有文字开头的asdasd)
答案 0 :(得分:0)
^(asdasd|qwdq|qwdad)
只能复制您想要找到的部分
要么
^(asdasd|qwdq|qwdad).*
正则表示全行
答案 1 :(得分:0)
使用awk
,您可以检查第一行是否符合以下任何说法:
awk 'NR==1 && /pattern/' file
如果要打印其文件名,请说:
awk 'NR==1 && /pattern/ {print FILENAME}'
要将其与find
合并,并检查第一行是否以" asdasd"开头,请使用:
find -type f -exec awk 'NR==1 && /^asdasd/ {print FILENAME}' {} \;