제목과 마찬가지로 하위 문자열이 나타나는 각 (텍스트) 파일의 줄 번호도 인쇄하고 싶습니다.
지금까지 나는 다음을 가지고 있습니다 :
find /sys | grep "filesystem"
하지만 파일의 내용은 보지 않고 파일 이름과 디렉터리만 보는 것 같습니다.
동시에 여러 문자열을 검색하는 방법은 무엇입니까? 추가로 검색 "*filesystem"
하여 이 문자열이 나타날 수 있는 "filesystem*"
모든 항목을 포함해야 한다고 생각하기 때문입니다 ."*filesystem*"
미리 감사드립니다.
답변1
파일 이름과 내용에 대해 두 가지 다른 명령을 사용해도 괜찮다면 다음 명령이 도움이 될 것입니다.
find /sys -name "*filesystem*"
위 명령은 파일 이름/디렉터리 이름의 일부로 "filesystem"이 포함된 모든 파일/디렉터리를 찾습니다.
grep -rn "filesystem" /sys/*
위 명령은 내용에 "filesystem"이 포함된 모든 파일을 재귀적으로 찾아 일치하는 줄과 함께 줄 번호를 인쇄합니다. 내용이 아닌 줄 번호만 인쇄하려면 다음 필터를 사용할 수 있습니다. 2를 인쇄하려는 열 번호로 바꿀 수 있습니다.
grep -rn "filesystem" /sys/* | awk -F":" {'print $2'}