![제목이 있는 여러 파일을 페이지별로 검토하지 않고 출력하는 방법은 무엇입니까? [복사]](https://linux55.com/image/182759/%EC%A0%9C%EB%AA%A9%EC%9D%B4%20%EC%9E%88%EB%8A%94%20%EC%97%AC%EB%9F%AC%20%ED%8C%8C%EC%9D%BC%EC%9D%84%20%ED%8E%98%EC%9D%B4%EC%A7%80%EB%B3%84%EB%A1%9C%20%EA%B2%80%ED%86%A0%ED%95%98%EC%A7%80%20%EC%95%8A%EA%B3%A0%20%EC%B6%9C%EB%A0%A5%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F%20%5B%EB%B3%B5%EC%82%AC%5D.png)
파일 검색 명령을 실행 중인데 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
.)