printfと組み合わせたTOPコマンド

printfと組み合わせたTOPコマンド

私は単純だが本当の文を持っています:

#!/bin/bash
while true; do
    printf -- '-%.0s' {1..100}; echo "" | top -l 1 >> file.txt
    sleep 10
done

私が直面している問題は、ステートメントがprintfファイルの内部ではなくコンソールにのみ出力されることです。

私のコマンドの期待される結果は、各新しい上部の間に---区切り文字を持つファイルにトップコマンドを出力することです。このように:

----------------
top output
---------------
top output
etc...

私も次のことを試しました。

#!/bin/bash
while true; do
    (
    printf -- '-%.0s' {1..100}; echo ""
    top -l 1
    ) >> file.txt
    sleep 10
done

ベストアンサー1

#!/bin/bash
while true; do
    printf -- '-%.0s' {1..100} >> file.txt 
    echo "" >> file.txt
    top -l 1 >> file.txt
    sleep 10
done

おすすめ記事