44

1つのファイルのサイズが大きくなるのを監視したいので、次のコマンドを使用します。

texai@maelstrom ~$ ls -lh club_prod.sql | awk '{print $5}'
116M

今、私はその結果を5秒ごとに見たいので:

texai@maelstrom ~$ watch -n 5 ls -lh club_prod.sql | awk '{print $5}'

ただし、このコマンドは結果を返しません

4

9 に答える 9

71

watchの出力をにパイプしていますawk。コマンドラインを単純化すると、次のようになります。

 watch <some arguments> | awk '{print $5}'

それはあなたが望むものではありません。試す:

watch -n 5 "ls -lh club_prod.sql | awk '{print \$5}'"
于 2012-05-11T16:20:43.377 に答える
44
watch -n 5 "du -h club_prod.sql"
于 2012-05-11T16:22:54.083 に答える
7

で実行されるように、パイプラインを引用する必要がありますwatch

watch -n 5 "ls -lh club_prod.sql | awk '{print \$5}'"

外側の引用符が二重引用符になり、変数が展開されるため、\追加された to にも注意してください。(他の引用方法は一般的にこれより醜いです。)\$5$

于 2012-05-11T16:20:46.153 に答える
4
watch -n 5 "ls -lh club_prod.sql | awk '{print \$5}'"
于 2012-05-11T16:20:29.760 に答える