0

使ってみた

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)

4

2 に答える 2

0

^(asdasd|qwdq|qwdad) to regexp only part you want to find OR ^(asdasd|qwdq|qwdad).* to regexp full line

于 2016-06-30T09:31:12.893 に答える
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}' {} \;
于 2016-06-30T09:36:47.913 に答える