제목이 있는 여러 파일을 페이지별로 검토하지 않고 출력하는 방법은 무엇입니까? [복사]

제목이 있는 여러 파일을 페이지별로 검토하지 않고 출력하는 방법은 무엇입니까? [복사]

파일 검색 명령을 실행 중인데 ag -g foo찾은 파일의 내용을 보고 싶습니다.

이렇게 하면 ag -g foo | xargs more명령 more은 터미널 창에서 한 번에 여러 파일을 볼 수 있을 만큼 작은 파일이라도 스페이스바를 눌러 각 파일 사이로 이동하게 합니다.

이렇게 하면 ag -g foo | xargs cat한꺼번에 다 보이는데, 파일들이 뒤죽박죽이어서 새 파일이 어디서 시작되는지 알기가 어렵습니다.

한 스크롤에서 모든 파일을 볼 수 있지만 각 파일의 제목을 포함하는 방법이 있습니까?

답변1

xargs제목을 추가하도록 지시할 수 있습니다 .

ag -g foo | xargs sh -c '
    for file do
        printf "====== %s =====\n" "$file"
        cat -- "$file"
    done' sh

또는 루프를 사용할 수 있습니다.

ag -g foo | 
    while IFS= read -r file; do 
        printf '======== %s =======\n' "$file" 
        cat -- "$file"
    done | less

(이는 ag예상되는 매우 구체적인 형식이 아니라 한 줄에 하나의 파일 이름이 출력된다고 가정합니다 xargs.)

관련 정보