テキストファイルが変更されるたびにインスタントオートリフレッシュでターミナルでテキストファイルを開くにはどうすればよいですか?
vim
を:set autoread
で確認しましたが、更新をトリガーするには、基本的な入力(vim
内のキープレスなど)が必要です。
自動更新をハンズフリーにしたい。これを行うためのハックはありますか?
私はCrunchbang 11を使用していますが、ターミナルにはかなり慣れています。
これにより、毎秒1回ファイルが表示されます。
watch -n 1 cat file
tail -f /var/log/syslog
ファイルに追加されたsyslog更新を表示します。
他の答えが示唆するようにwatch
を使用しますが、Unixなどのシェルによって提供されるビルディングブロックを使用して、一見複雑に見える問題にどのように対処できるかを示すだけです。 whileループは、ループを実行する簡単な方法です。
$ while [ 1 ]; do clear; date; cat <afile>; sleep 1 ;done
$ while [ 1 ]; do clear; date; cat sample.txt; sleep 1 ;done
Fri Nov 15 09:17:39 EST 2013
1
2
3
4
5
画面がクリアされ、1秒後にこれが表示されます。
Fri Nov 15 09:17:40 EST 2013
1
2
3
4
5
コメントで提案されているように、やり過ぎですがinotify
を使用することもできます。最も簡単なのは、watch
を使用することです。 inotify
でこれを行う1つの方法を次に示します。
inotify-tools
パッケージをインストールする
Sudo apt-get install inotify-tools
inotifywatch
を使用して、ファイルの変更を確認します。ループで実行し、変更が検出された場合はファイルをcat
します(そのため、文字列grep
に対してtotal
を使用します)。
while true; do
inotifywatch -e modify -t 1 kk 2>/dev/null | grep -q total &&
echo "$(date;cat kk)";
done