著者:岡田健
ユニケージでは、小さな道具の「コマンド」をシェルスクリプトで組み合わせて、さまざまな業務システムを構築しています。本連載では、毎回あるテーマに従ってユニケージによるシェルスクリプトの記述例を分かりやすく紹介します。第7回は、書き方のルールとなるお作法と分かりやすいコードの書き方について解説します。
シェルスクリプトマガジン Vol.60は以下のリンク先でご購入できます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
cat SALES | # 1:店舗 2:商品No 3:日付 4:売数 # 5:売上 6:割引 join1 key=2 PRICE | # 原価 / 売価を連結 # 1:店舗 2:商品No 3:原価 4:売価 # 5:日付 6:売数 7:売上 8:割引 join1 key=2 CATEGORY | # 部門を連結 # 1:店舗 2:商品No 3:部門 4:原価 # 5:売価 6:日付 7:売数 8:売上 # 9:割引 lcalc '$3,$7,$8,$8-$7*$4' | # 売数 / 売上 / 荒利計算 # 1:部門 2:売数 3:売上 4:粗利 msort key=1 | # 部門でソート sm2 1 1 2 4 | # 売数 / 売上 / 荒利集計 sm5 1 1 2 4 | # 合計行の付加 divsen 2 3 4 | # 千で除算 divsen 3 4 | # 千で再除算 lcalc '$1,$2,$3,$4,100*$4/$3' | # 荒利率を求める # 1:部門 2:売数 3:売上 4:粗利 # 5:粗利率 marume 5.1 | # 四捨五入 join2 key=1 CATEGORY_NAME | # カテゴリ名の連結 # 1:部門 2:部門名 3:売数 4:売上 # 5:粗利 6:粗利率 comma 3 4 5 | # カンマ編集 keta | # 桁そろえ keisen +e | # 罫線を引く cat header - # 出力 |
1 2 3 4 5 |
cat ZAIKO | # 1:商品CD 2:規格CD 3:拠点CD 4:サイズCD # 5:産地CD 6:ブランドCD 7:仕入先CD 8:発注先CD # 9:在庫発生日 10:製造日 11:販売日 12:数量 (略) |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
cat ZAIKO | # 1:商品CD 2:規格CD 3:拠点CD 4:サイズCD # 5:産地CD 6:ブランドCD 7:仕入先CD 8:発注先CD # 9:在庫発生日 10:製造日 11:販売日 12:数量 cjoin2 key=1 SHOHIN - | # 1:商品CD 2:商品名 3:規格CD 4:拠点CD # 5:サイズCD 6:産地CD 7:ブランドCD 8:仕入先CD # 9:発注先CD 10:在庫発生日 11:製造日 12:販売日 # 13:数量 cjoin2 key=3 KIKAKU - | # 1:商品CD 2:商品名 3:規格CD 4:規格名 # 5:拠点CD 6:サイズCD 7:産地CD 8:ブランドCD # 9:仕入先CD 10:発注先CD 11:在庫発生日 12:製造日 # 13:販売日 14:数量 (略) |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
cat ZAIKO | # 1:商品CD 2:規格CD 3:拠点CD 4:サイズCD # 5:産地CD 6:ブランドCD 7:仕入先CD 8:発注先CD # 9:在庫発生日 10:製造日 11:販売日 12:数量 cjoin2 key=1 SHOHIN - | # 1:商品CD 2:商品名 3:規格CD 4:拠点CD # 5:サイズCD 6:産地CD 7:ブランドCD 8:仕入先CD # 9:発注先CD 10:在庫発生日 11:製造日 12:販売日 # 13:数量 cjoin2 key=3 KIKAKU - | # 1:商品CD 2:商品名 3:規格CD 4:規格名 # 5:拠点CD 6:サイズCD 7:産地CD 8:ブランドCD # 9:仕入先CD 10:発注先CD 11:在庫発生日 12:製造日 # 13:販売日 14:数量 (略) |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
cat ZAIKO | # 1:商品CD 2:規格CD 3:拠点CD 4:サイズCD # 5:産地CD 6:ブランドCD 7:仕入先CD 8:発注先CD # 9:在庫発生日 10:製造日 11:販売日 12:数量 self 0 1 | cjoin2 key=NF SHOHIN - | delf NF-1 | # 1:商品CD 2:規格CD 3:拠点CD 4:サイズCD # 5:産地CD 6:ブランドCD 7:仕入先CD 8:発注先CD # 9:在庫発生日 10:製造日 11:販売日 12:数量 # 13:商品名 self 0 3 | cjoin2 key=NF KIKAKU - | delf NF-1 | # 1:商品CD 2:規格CD 3:拠点CD 4:サイズCD # 5:産地CD 6:ブランドCD 7:仕入先CD 8:発注先CD # 9:在庫発生日 10:製造日 11:販売日 12:数量 # 13:商品名 14:規格名 (略) |