Чи можна слідувати команді (виконувати повторно)? як би слідкувати за файлом за допомогою хвоста -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в Ubuntu 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це робить для вас.


Це взагалі не стосується питання щодо ОЗ, воно просто переводить роботу на іншу команду і вимагає після запуску та очищення цілого нового шару матеріалів.
Калеб

@Caleb: Мені не ясно, чому це така жахлива відповідь. Вихідний файл може бути в / tmp, тому не потрібно його очищати. Я не думаю, що питання було "як я можу запускати команду повторно?" але "як я можу слідувати команді, яка виконується повторно?". Тож, наскільки я бачу, це виглядає так, що це відповідає на питання ОП ... нормально при більш уважному читанні, я вважаю, що питання неоднозначне, як це розміщено в даний час: чи "(запускати повторно)" означає "(який запускається повторно ) "або" (тобто, як я його запускаю повторно?) "?
іконоборство
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.