Kimden man watch
:
Yazdırılmayan karakterler program çıktısından çıkarılır. Görmek istiyorsanız komut satırının bir parçası olarak "cat -v" kullanın.
Peki cat -v
renkli çıktıyı görmek istersem nasıl kullanırım :
watch ls -al --color
Kimden man watch
:
Yazdırılmayan karakterler program çıktısından çıkarılır. Görmek istiyorsanız komut satırının bir parçası olarak "cat -v" kullanın.
Peki cat -v
renkli çıktıyı görmek istersem nasıl kullanırım :
watch ls -al --color
Yanıtlar:
Doğru komut
watch --color "ls -a1 --color"
Adam sayfasında veya - yardım ekranında belgelenmemiş. Onu bulmak için dizeleri kullanmak zorundayım.
watch --color "sudo iwlist wlan0 scanning | egrep 'Quality|ESSID' | egrep --color -i 'foobar|$'"
renkleri yer ::
watch
PROCPS (çoğu Linux dağıtımlarının varsayılan, inanıyorum) bir sahiptir --color
V3.3.2 beri seçeneği.
'İzle' komutuyla mümkün olamayacağını düşünüyorum. İşte bunu yapmanın daha uzun bir yolu:
while true; do clear; date;echo;ls -al --color; sleep 2; done
Bunu bir komut dosyasına koyabilirsiniz, örneğin:
echo "while true; do clear; date;echo;\$*;sleep 2; done" > watch2
chmod +x watch2
./watch2 ls -al --color
Netleştirmek için, işte bu yüzden 'watch' komutuyla bunun mümkün olmadığını düşünüyorum. Cat -v kullanırsanız ne olacağını görün:
watch "ls -al --color|cat -v"
Sana istediğin şeyin olmadığını düşündüğüm renk kontrol karakterlerini gösteriyor.
man watch
açıkça kesmeden mümkün olması gerektiğini önerir watch
.
cat -v
görmek man watch
için emrimi yukarıdaki gibi deneyin .
while true; do out=$(date;echo;ls -al --color);clear;echo $out;sleep 2;done
echo "$out"
. stackoverflow.com/q/2414150/86967
Mac kullanıyorsanız, benim gibi, watch
Homebrew'den rengi desteklemiyor.
İstediğiniz şey fswatch ama henüz Homebrew değil. Yüklemek için biraz daha sarsılmış yapmak isteyeceksiniz
https://raw.github.com/mlevin2/homebrew/116b43eaef08d89054c2f43579113b37b4a2abd3/Library/Formula/fswatch.rb
Kullanım için bu SO cevabına bakınız .
watch
geçerlidir, bir emir için de geçerlidir
GÜNCELLEME : watch
Sorunu çözmenin en son sürümlerini ortaya çıkarır . Yani, renkleri watch --color
yanlış ise, sadece güncellemek daha iyidir (benim sistemimde, procps
pakette).
Renk desteği watch --color
benim deneyimimde sınırlı (ancak bunun için yeterli ls -l --color
). İşte @ davr'ın bazı ekstra özelliklere cevap verdiği ve en önemlisi titremeyi azaltan versiyonum. .Bashrc'nize yerleştirip kullanabilirsiniz cwatch ls -l --color
.
# `refresh cmd` executes clears the terminal and prints
# the output of `cmd` in it.
function refresh {
tput clear || exit 2; # Clear screen. Almost same as echo -en '\033[2J';
bash -ic "$@";
}
# Like watch, but with color
function cwatch {
while true; do
CMD="$@";
# Cache output to prevent flicker. Assigning to variable
# also removes trailing newline.
output=`refresh "$CMD"`;
# Exit if ^C was pressed while command was executing or there was an error.
exitcode=$?; [ $exitcode -ne 0 ] && exit $exitcode
printf '%s' "$output"; # Almost the same as echo $output
sleep 1;
done;
}
Ayrıca gibi şeyler deneyebilirsiniz
cwatch 'ls -l --color | head -n `tput lines`'
Eğer terminalinizde çıkıştan daha az sayıda hat varsa. Bu, ancak tüm hatların terminal genişliğinden daha kısa olması durumunda işe yarar. Bunun için bildiğim en iyi geçici çözüm:
cwatch 'let lines=`tput lines`-2; ls -l --color | head -n $lines'