grep을 통해 파일에서 절대 이름 찾기

grep을 통해 파일에서 절대 이름 찾기

나는 다음 명령을 사용합니다.

grep "pdp" /3.log

pdp자세한 정보가 포함된 행을 검색하는 데 사용됩니다 . 하지만 나도 fpdp, spdp..

내가 선택한 관련 이름만 필터링하려면 어떻게 해야 합니까?

답변1

나는 당신이 원하는 것 같아요 :

grep -w pdp /3.log

~에서GNU 구현을 위한 매뉴얼 페이지grep:

-w, --word-regexp 전체 단어를 구성하는 일치 항목이 포함된 행만 선택합니다. 테스트에서는 일치하는 하위 문자열이 줄의 시작 부분에 있거나 단어를 만들지 않는 문자가 앞에 있어야 한다는 것입니다. 다시 말하지만, 줄 끝에 있어야 하거나 단어를 형성하지 않는 문자가 뒤에 와야 합니다. 단어를 구성하는 문자는 문자, 숫자, 밑줄입니다. -x도 지정하면 이 옵션은 적용되지 않습니다.

답변2

JRFerguson이 언급했듯이 grep -w pdp를 사용하여 일치하는 결과만 얻거나 find를 사용할 수 있습니다.

[root@testvm ~]# ls -lrth
total 4.0K
-rw-------. 1 root root 1.4K Mar 16 13:39 anaconda-ks.cfg
-rw-r--r--. 1 root root    0 May 19 18:11 pdp
-rw-r--r--. 1 root root    0 May 19 18:11 pdpabc
-rw-r--r--. 1 root root    0 May 19 18:11 abcpdp
-rw-r--r--. 1 root root    0 May 19 18:11 3pdp
[root@testvm ~]# find . -regex "\./pdp"
./pdp

해당 일치 항목을 이동하거나 삭제하려는 경우 find를 사용하는 것이 유용할 수 있습니다.

find . -regex "\./pdp" -exec mv /tmp \;

관련 정보