명령을 따를 수 있습니까 (반복적으로 실행)? tail -f를 사용하여 파일을 따르는 것처럼?


10

'Detail.out'파일을 생성하는 스크립트가 있습니다. 파일에 특정 수의 줄 (대략 21025)이 포함될 때마다 스크립트가 완료된다는 것을 알고 있습니다. 그래서 나는 명령 프롬프트에 앉아있는 것을 발견했다.

[me@somewhere myDir]$ wc -l */Detail.out
  21025 A/Detail.out
  21025 B/Detail.out
  21025 C/Detail.out
  12995 D/Detail.out
  10652 E/Detail.out
   3481 F/Detail.out
  21027 G/Detail.out
  21025 H/Detail.out
  21025 I/Detail.out
  ...   ...

내가 사용했던 tail -f특정 파일을보고,하지만 난의 출력 따르세요 wc -l */Detail.out위 명령을 사용합니다. 이것이 가능한가? 현재 tcsh우분투 11.04에서 사용 하고 있습니다.

답변:


18

watch거의 모든 사람이 한 번에 자신의 버전을 작성했다고 생각하지만 명령을 사용해보십시오 . (저렴한 버전은 while :; do clear; "$@"; sleep 5; done입니다.)


0

당신이 그것을 알고 있는지 확실하지 않지만 프로그램의 출력을 파일로 리디렉션 할 수도 있습니다. http://tldp.org/HOWTO/Bash-Prog-Intro-HOWTO-3.html을 참조하십시오. 따라서 다른 방법은 출력을 파일로 리디렉션 한 다음 이미 사용했던 것처럼 해당 파일의 꼬리를 사용하는 것입니다. .

$ find . -name "Detail.out" | xargs wc -l >> detail-out-list.txt

그리고 다른 터미널 $ tail -f detail-out-list.txt에서는 예전처럼 달릴 수 있습니다 .

Celeb가 지적한 것처럼 파일을 남겨두고 원하는 파일을 추가로 검사하거나 기록을 남기거나 주기적으로 실행하는 것은 없습니다 watch.


이것은 OPs 질문을 전혀 다루지 않고 단지 다른 명령으로 작업을 시작하고 실행하고 정리하기 위해 완전히 새로운 레이어를 필요로합니다.
Caleb

@ Caleb : 왜 이것이 끔찍한 대답인지 확실하지 않습니다. 출력 파일은 / tmp에있을 수 있으므로 정리할 필요가 없습니다. 질문이 "어떻게 명령을 반복적으로 실행할 수 있습니까?"라고 생각하지 않습니다. 그러나 "반복적으로 실행되는 명령을 어떻게 따를 수 있습니까?". 내가 알 수있는 한, 이것은 OP의 질문에 대답하는 것처럼 보입니다 ... 더 신중하게 읽으면 현재 게시 된 것처럼 질문이 모호하다고 생각합니다. "(반복 실행)"은 " ) "또는"(즉, 어떻게 반복 실행합니까?) "?
iconoclast
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.