libc.a
UNIXsize
コマンドを使用してモジュールの合計サイズを見つけようとしています。
それを実行すると、さまざまなファイルの合計サイズが表示されます。'size'の出力の1つの列(dec
この場合、ファイルの合計サイズが10進数である列)を取得してそれらを合計する方法の1つは何ですか?
コマンドラインでそれを行うことは可能ですか?
これを行う1つの方法:
size libc.a | awk '{ print " " $4 " " }' | tail -n +2 | paste -sd'+' | xargs expr
手順:
size
出力を生成するために使用awk
スペースの間に挿入された4番目のフィールドを印刷するために使用しますtail
2行目から印刷するために使用します(つまり、最初の行をスキップします)paste
で区切られたすべての行を結合するために使用します+
xargs
結果をパラメータとしてに渡すために使用しますexpr
。
expr
値を合計するために使用しますの実際のファイルサイズには関心がないが、の出力の列libc.a
の合計を計算したい場合は、次のコマンドラインを使用します。dec
size
size libc.a | tail -n +2 | cut -f 4 | tr -d '\n' | sed "s/^ *//;s/ *$//;s/ */+/g;s/$/\n/" | bc