grep 단어 일치

grep 단어 일치

이것은 매우 이상합니다. 나는 단지 grep을 원 /run하지만 다른 줄도 반환합니다.

  [root@s5 ~]# df -h | grep -w "tm"
    [root@s5 ~]# df -h | grep -w "tmpfs"
    tmpfs                    489M     0  489M   0% /dev/shm
    tmpfs                    489M  6.8M  483M   2% /run
    tmpfs                    489M     0  489M   0% /sys/fs/cgroup
    tmpfs                     98M     0   98M   0% /run/user/1001
    tmpfs                     98M     0   98M   0% /run/user/0
    [root@s5 ~]# df -h | grep -w "tmpf"
    [root@s5 ~]# df -h | grep -w "/run"
    tmpfs                    489M  6.8M  483M   2% /run
    tmpfs                     98M     0   98M   0% /run/user/1001
    tmpfs                     98M     0   98M   0% /run/user/0

답변1

사람들은 grep:

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

예상대로 작동합니다. 첫 번째 일치 항목만 얻는 것이 목적이라면 다음을 사용해야 합니다.

$ df -h | grep -w "/run$"

관련 정보