他の2つの出力列の間に列を挿入するには?

他の2つの出力列の間に列を挿入するには?

知っておいてくださいこれそしてこれしかし、彼らは私を助けませんでした。

両方のコマンドの出力をマージしたいと思います。

ls -1sh

そして

wc -l

だから私は次のようにすることができます:

<combined command> o.img 1.img
  1512 412K 0.png
  1269 320K 1.png
  2781 732K total

もう一つの小さな問題は、lsがサイズの合計を含まないことです。

ベストアンサー1

ls合計を生成しませduんが、

du -sch *.csv
16K     LdevInfo.csv
8.0K    LunInfo.csv
4.0K    W.csv
4.0K    WwnInfo.csv
32K     total

wc銃を生産します

 wc -l *.csv
  101 LdevInfo.csv
   66 LunInfo.csv
   62 W.csv
    8 WwnInfo.csv
  237 total

それから単にjoin

join -j 2 -o 1.1,2.1,2.2 v w
101 16K LdevInfo.csv
66 8.0K LunInfo.csv
62 4.0K W.csv
8 4.0K WwnInfo.csv
237 32K total

どこ

  • -j 2一致のためにフィールド2を使用するように結合に指示する
  • -o 1.1,2.1,2.2指定されたファイル FILENUM.FIELDNUM を印刷します。

あるいは、追加のawkを使用してフォーマットを素敵に指定することもできます。

join -j 2  v w| awk '{printf "%s\t%s\t%s\n",$2,$3,$1}'
101     16K     LdevInfo.csv
66      8.0K    LunInfo.csv
62      4.0K    W.csv
8       4.0K    WwnInfo.csv
237     32K     total

PS:私は*.pngそれを使用していませんが、*.csvこれはうまくいきます。

おすすめ記事