sed, grep, awk 파일 정렬

sed, grep, awk 파일 정렬

디렉토리에서 이름에 'load'가 포함된 모든 파일을 가져오려고 합니다. 나는하려고합니다 :

find -type f | sed -s 'load

하지만 계속해서 오류가 발생합니다.

sed: -e 표현식 #1, 문자 1: 알 수 없는 명령: `f'

더 나쁜 부분은 정규식을 조작할 수 있지만 grep/sed/awk를 사용하는 데는 정말 서툴고 이로 인해 항상 속도가 느려진다는 것입니다. 지금까지 온라인에서 찾은 자료는 모두 좋지 않습니다. 포괄적이고 매우 간결한 스크린캐스트/자습서에 대해 알고 계시나요? 나는 아직도 리눅스 매뉴얼을 읽고 빨리 이해하는 기술이 그리워요.

답변1

grep/sed/awk가 전혀 필요하지 않습니다. find결과를 필터링해 보겠습니다.

find . -type f -name '*load*'

또는 bash에서만

shopt -s globstar nullglob
load_files=( **/*load* )

외부 도구를 원하는 경우:

find . -type f | grep load
find . -type f | awk '/load/'
find . -type f | sed -n '/load/p'

sed에서는 -n을 사용하여 일반 출력을 억제하고 패턴과 일치하는 행만 인쇄합니다.

관련 정보