シェルスクリプトマガジン Vol27

Similar documents
シェルスクリプトマガジン vol.30

シェルスクリプトマガジン Vol.24

USP MAGAZINE 2014 August

ソフトウェア基礎 Ⅰ Report#2 提出日 : 2009 年 8 月 11 日 所属 : 工学部情報工学科 学籍番号 : K 氏名 : 當銘孔太

K-BASIC 1st: ユニケージ基礎編(前編)

リスト1 ローカルホストからリモートホスト 上 のシェルを 実 行 するシェル 1 #!/bin/ush -xve 2 # システム 名 :USPシステム 3 # サブシステム 名 : 仕 入 伝 票 4 # プログラム 名 :LV4 作 成 5 # 概 要 :LV3からLV4 作 成 < 親 シェ

Open usp Tukubai ってなに? Open usp Tukubai は 売上データの処理や勘定系システムの構築に利用されているエンタープライズ向けの高性能コマンド群 usp Tukubai のオープンソース版です 業務で特によく使われるコマンドを選りすぐって Python で再実装したも

スライド 1

スライド 1

Taro-cshプログラミングの応用.jt

P01_改.eps

‡Æ‡¤‡©‡¢34_


フィルタとは

01-CG-BARMX-.\...pm

PowerPoint Presentation

Microsoft Word - NanoPhotometer用PCソフトウエア操作説明書 Rev 1.00.doc

Microsoft PowerPoint - 講義資料-mlib

JavaScriptで プログラミング

_unix_text_command.pptx

PowerPoint プレゼンテーション

Microsoft Word - 道路設計要領.doc

プレポスト【解説】

untitled

untitled

CITI Japan 受講者登録手順

Create!Form V11 - Excel 出力設定


FUTRO管理ツール レポート機能説明書

画像参照画像送り 5 画像下部に再生ボタンが表示されます 再生ボタンをクリックすると 自動コマ送りされます 1

1. 契約ごとに 1 つのファイルを作成する場合 作成する電子的控除証明書等の種類に応じてラジオボタンを選択してください 画面に入力して 1 件ずつ作成する を選択し 生命保険会社等の名称 生命保険会社等の法人番号及び証明日を入力してください 法人番号は任意項目です 1 メイン画面 ❸ ❹ ❸ 契約

slide5.pptx

memo

練習 4 ディレクトリにあるファイルを直接指定する (cat) cat コマンドを使う (% cat ファイル名 ) と ファイルの内容を表示できた ファイル名のところにパス名を使い ディレクトリ名 / ファイル名 のように指定すると ディレクトリ内にあるファイルを直接指定できる 1 % cat _


工程’S 9 ヘルプ Excelバーチャート

変更履歴 版数変更日変更内容 /9/1 初版設定

PowerPoint プレゼンテーション

1.Wicrosoft Word2010 を起動 1 スタート ボタン スタートメニューの すべてのプログラム Microsoft Office Microsoft Word2010 と順にクリックします Microsoft Word2010 が起動します 2. ページ設定 余白 フォント フォント

目 次 1. はじめに ソフトの起動と終了 環境設定 発助 SMS ファイルの操作 電話番号設定 運用条件 回線情報 SMS 送信の開始と停止 ファイル出力... 16

1. 1 DBMS Unix (USP ) ( )[3] 20 UNIX [2] KISS UNIX 1. 2 (Tukubai ) Unix OS Unix USP Tukubai Tukubai 1. 3 Unix SQL Tukubai usp Tukubai Open usp Tukubai

Microsoft Word - inex2tv25-1.doc

Windows 10 はマイクロソフト社の OS(Operating System: 基本ソフト ) です OS は パソコンの本体とプリンター キーボード マウスなどのハードウェアを仲介します また Word Excel などのアプリの制御や ファイルの作成 削除などを階層的に管理します を使うと

WebCADD.com ご利用ガイド

P1

Microsoft Word - DF-Salford解説09.doc

PowerPoint プレゼンテーション

目次 1 はじめに 導入手順 必要なファイルのダウンロード GMT 本体と gawk( テキストデータ加工用ツール ) Ghostscript,GSview インストール

CASEC

BBB_マニュアル(聴講者用)

掲示板の閲覧 掲示板の閲覧 登録権または参照権のある掲示板グループの掲示版を閲覧することができます 各利用者の権限は 管理者によって設定されます 掲示板を閲覧する 1 掲示板画面を表示し 閲覧する掲示が含まれている掲示板グループ 掲示板の順にクリックします 掲示板画面の表示方法 ポータル画面の画面説

棚POWER操作テキスト 帳票作成編

ReTRY HUB

PowerPoint プレゼンテーション

ATDM-0604 User Manual

多くのコマンドやソフトウェアは 1 なんらかの情報を受け取り 2 処理し 3 結果を出力する ( 前ページの図 ) cat の処理結果は端末ウィンドウに表示されるが これは cat が結果を標準出力に 吐き出した ( 出力した ) からである 通常 標準出力に吐き出された情報は端末ウィンドウ に表示

2. 患者一覧 ログインすると患者一覧画面が表示されます 初期表示は本日日付で診療が行われた患者の一覧が表示されます 該当の患者がいない場合は上図のように患者一覧は表示されません ORCA 連携されていない場合は初期導入時に患者情報がありませんので 取り込みを行う必要があります 患者の取り込み方法は

Excel データ出力ガイドブック 第 1.0 版平成 30 年 9 月 1 日制定 株式会社中電シーティーアイ

PowerPoint Presentation

4. 行や列でなくセルをコピーや切り取った場合には ダイアログボックスが表示されて 挿入した後にセルが移動する方向を選択できます 行や列を選択して シフトキーを押しながら境界線をドラッグすると 行や列を移動することもできます 4. 形式を選択して貼り付け (310 ページ ) 行や列 セルをコピーす

TREND CA Ver.3 手順書

リスト 1 1 <HTML> <HEAD> 3 <META http-equiv="content-type" content="text/html; charset=euc-jp"> 4 <TITLE> 住所の検索 </TITLE> 5 </HEAD> 6 <BODY> <FORM method=

問 1 図 1 の図形を作るプログラムを作成せよ 但し ウィンドウの大きさは と し 座標の関係は図 2 に示すものとする 図 1 作成する図形 原点 (0,0) (280,0) (80,0) (180,0) (260,0) (380,0) (0,160) 図 2 座標関係 問 2

Processingをはじめよう

ワイヤレスセンサモジュール取扱説明書

操作方法 XXXTOEMF は コマンドライン形式のアプリケーションです 通常のコマンドと同じように コマンドラインからの実行やバッチファイルに組み込むことが可能です インストールについては, 別紙の KDxxxx コンバートソフトの特記事項について を参照してください ここでは 直接コマンドライン

農業・農村基盤図の大字小字コードXML作成 説明書

出力可能なバーコードの種類 出力可能なバーコードの種類各バーコードはそれぞれのバーコードの仕様に準拠します バーコードの種類 PDF417 MICROPDF417 対応バーコードの名称 PDF417 マイクロ PDF417 操作例 PDF417 商品コードの内容を PDF417 にする 作成された

データ構造


コマンド入力による操作1(ロード、プロット、画像ファイル出力等)

スライド 1

TRENDフォトビューアの起動方法と使い方

HP Primeバーチャル電卓

2 / 25 複数ソフトの組み合わせ テキストファイルを Excel で開く テキスト形式 (.txt) で保存したファイルを Excel で利用しましょう 第 14 講で保存した west.txt を Excel で開きます 1. Excel を起動します 2. [Office ボタ

Calc 基礎講座 Lesson 4 OpenOffice.org Academy グラフの作成とブックの操作 1 グラフの作成 図1 1.1 データ範囲の指定 先週作成したネタ別売上報告書には 商品ID 商品名 単価 数量 金額などのデータが記録さ れています これらのデータを利用して 目的毎 に

「統 計 数 学 3」

Microsoft PowerPoint 電子情報理工学特論.pptx

< 目次 > 1. 練習ファイルのダウンロード 表計算ソフト Excel の基本 Excel でできること Excel の画面 セル 行 列の選択 セルにデータを入力する ( 半角英数字の場合 )

k_seminar_hands_on_for_linux_beginner.pptx

データの作成方法のイメージ ( キーワードで結合の場合 ) 地図太郎 キーワードの値は文字列です キーワードの値は重複しないようにします 同じ値にする Excel データ (CSV) 注意キーワードの値は文字列です キーワードの値は重複しないようにします 1 ツールバーの 編集レイヤの選択 から 編

FutureWeb3 Web Presence Builderマニュアル

電子引込票 兼 分電盤図 簡単作成マニュアル

NPO 法人いきいきネットとくしま第 96 回定例勉強会 森の日 2012 年 6 月 27 日担当 : 吉田明子 図表 Smart Art( スマートアート ) 機能を使うと 情報の相互関係を分かりやすく表現でき 目的に応じて種類を選択出来てデザイン性の高い図表が作成できます 図表の中に写真やイラ

F KDbarcode_CODE39 Microsoft WORD/EXCEL のアドイン製品 Kernel Computer System カーネルコンピュータシステム株式会社 本社 : パッケージ販売部 横浜市神奈川区金港町 6-3 横浜金港町ビル 6F TEL:

SideAceユーザーズガイド

BBB_マニュアル(講師用)_rev2

情報処理概論(第二日目)

OneDrive-Oneline_2013

目次 STEP.1Word ファイルを小冊子にする... 1 注意... 2 STEP1-1 印刷 (EPSON) の場合... 5 STEP.2 冊子つくり... 7 STEP.3 新しいページの挿入... 7 STEP.4 見出し... 8 STEP.5 目次を作成... 9 STEP.6 冊子

PowerPoint プレゼンテーション - 物理学情報処理演習

ホームページにパスワード認証を設定します 会員限定のページなどに利用できます 設定の手順 を設定するには 以下の手順で行います ユーザ登録 を設定したページにアクセスするためのユーザを登録します の設定 を設定するページ アクセスを許可するユーザを選択し 設定します 設定完了 を設定したページにアク

団体専用ページログイン認証について ログインする 1 メールアドレス パスワードを登録し ログインする ボタンを押してお進みください メールアドレスは 団体受験利用申請時に登録されたメールアドレスとなります その際 協会より発行されたパスワードをご利用ください 団体 ID パスワードをお忘れの方 2

やさしくPDFへ文字入力 v.2.0

creator_ver.12.0 新機能_CAD組み込み用.indd

スライド 1

        

<4D F736F F F696E74202D E3F FC96E55F F554E CC8AEE D8EAF2E B8CDD8AB B83685D>

フォト・ボックス

OWI(Oracle Wait Interface)の概要

Transcription:

ユニケージ開発手法 コードレビュー USP 研究所技術研究員 written by 大内智明 Vol.16 今回は PDF ファイルの作成方法について紹介します PDF 業務用に使用する帳票などの資料は PDF ファイルで作成することがよくあります PDF ファイルは フリーの PDF リーダーがあれば パソコン 携帯電話 タブレットなどのほぼすべての機器で閲覧することができます ユニケージで PDF ファイルを作成する方法について説明します ただし 今回紹介する例は 業務で作成するような帳票ではなく 線や円を使用した アミダくじ を紹介します ( 図 1) ユニケージで PDF ファイルを作成する際には wpdf コマンドを使用します wpdf コマンドでできること ( 機能 ) は 線 円 四角 グラフの描画 テキスト文字の入力です また 線の太さ 文字フォント 色の指定ができます wpdf コマンドの使い方は 各機能ごとのスクリプトコマンド (1 行 1 命令 ) を用意して wpdf コマンドに読み込ませることで PDF ファイルの出力を行います ( 図 2) 図 1 アミダくじ ここで紹介する アミダくじ は 変則的な 1 仕様となっています ❶ この アミダくじ は 上部に入力が1 線あ 2 たり2つあります つまり 2 6=12 人分の ア ミダくじ です この アミダくじ は 上 ( 開始 ) から下を 通って 再度上 ( 終了 ) にいきます ( 朱色部分 ) ❶ 線を引く line 18 37 18 164 line 38 37 38 164 円を引く en 18 13 8 en 18 29 8 ❸ 文字列を書く text 291 193 right top gothic 15 black Powered_by_I.Ayuse 直線を始点から終点まで引くスクリプトコマンド 中心 (x,y) と半径から円を引くスクリプトコマンド 指定テキスト文字を指定場所に書くスクリプトコマンド 図 2 描画とスクリプトコマンド 25

リスト 1 PDF 作成するシェル 1 #!/bin/bash -xv 2 # 3 # Usage : AMIDATEST <sankasu>(4~28までの4の倍数 ) 4 # 5 # Written by I.Ayuse(usp-lab.com) /Date : 14 Oct 2011 走行ログを記録します ロードアベレージを取得するスクリプトは 定期的に 動作するため 記録するログのファイル名は 1 日の 6 中で最新のファイルだけ残しています 7 # 走行ログの設定走行ログは プログラムが実行途中 エラーなどによ 8 echo "/tmp/log.$(basename $0)" &> /dev/null り停止した場合に 原因を発見するのに使用します 9 exec 2> /tmp/log.$(basename $0) 10 11 # 変数の定義 12 tmp=/tmp/tmp$$ 13 sankasu=$1 14 kumisu=$(expr $sankasu / 2) 15 16 ################################################################## 17 # 縦線を組数分引く 18 ################################################################## 19 tatel_xpos=18 20 tatel_sypos=37 21 tatel_eypos=164 22 # 組数分 for 文を回す 23 for kms in $(seq ${kumisu}) ; do ❶ 24 echo "${tatel_xpos} ${tatel_sypos} ${tatel_xpos} ${tatel_eypos}" 25 # 1: 縦線 x 軸始点 2: 縦線 y 軸始点 3: 縦線 x 軸終点 4: 縦線 y 軸終点 26 tatel_xpos=$(( ${tatel_xpos} + 20 )) 27 done > $tmp-hikisu_line.1 28 [ $? -eq 0 ] exit 1 29 ################################################################## 30 31 ################################################################## 32 # 2 本の縦線の一番下同士を繋げる 33 ################################################################## 34 tunagi_tatelno=$(expr $sankasu / 4 ) 35 tunagi_lsu=$(expr $sankasu / 4 ) 36 tunagi_yokol_sypos=164 37 tunagi_yokol_eypos=164 38 tatel_eypos=164 39 :> $tmp-hikisu_line.2 40 # 1: 縦線 x 軸始点 2: 縦線 y 軸始点 3: 縦線 x 軸終点 4: 縦線 y 軸終点 41 rank $tmp-hikisu_line.1 rankコマンドはユニケージコマンド 画面 1 参照 42 msort key=2n msortコマンドはユニケージコマンド sort コマンドの高速版 43 rank > $tmp-tunagi_no 44 for tngls in $(seq ${tunagi_lsu}) ; do 45 # 繋ぎの横線 46 # $tmp-tunagi_no 47 # 1: 行番号 2: 行番号 ( 逆順 ) 3: 縦線 x 軸始点 4: 縦線 y 軸始点 5: 縦線 x 軸終点 6: 縦線 y 軸終点 48 self 1 5 $tmp-tunagi_no selfコマンドはユニケージコマンド フィールド選択して出力します 49 selr 1 ${tunagi_tatelno} > $tmp-tunagi_no1 selrコマンドはユニケージコマンド 50 # $tmp-tunagi_no1 フィールドの完全一致を抽出します 51 # 1: 行番号 2: 横線 x 軸終点 52 self 2 3 $tmp-tunagi_no 53 selr 1 ${tunagi_tatelno} 54 # 1: 行番号 ( 逆順 ) 2: 横線 x 軸始点 55 join1 key=1 - $tmp-tunagi_no1 56 # 1: 行番号 2: 横線 x 軸始点 3: 横線 x 軸終点 join1はユニケージコマンド 画面 2 参照 26 2015 July

delf コマンドはユニケージコマンド 選択したフィールドを削除します 57 delf 1 58 awk '{print $1,"'"$tunagi_yokol_sypos"'",$2,"'"$tunagi_yokol_eypos"'"}' 59 tee $tmp-tunagi_tatel >> $tmp-hikisu_line.2 60 61 # 繋ぎの縦線 62 # $tmp-tunagi_tatel 63 # 1: 縦線 x 軸始点 2: 縦線 y 軸始点 3: 縦線 x 軸終点 4: 縦線 y 軸終点 64 # 2 本の縦線の左側 65 awk '{print $1,"'"${tatel_eypos}"'",$1,"'"${tunagi_yokol_eypos}"'"}' $tmp-tunagi_tatel >> $tmp-hikisu_line.2 66 # 2 本の縦線の右側 67 awk '{print $3,"'"${tatel_eypos}"'",$3,"'"${tunagi_yokol_eypos}"'"}' $tmp-tunagi_tatel >> $tmp-hikisu_line.2 68 tunagi_yokol_sypos=$(( ${tunagi_yokol_sypos} + 4 )) 69 tunagi_yokol_eypos=$(( ${tunagi_yokol_eypos} + 4 )) 70 tunagi_tatelno=$(( $tunagi_tatelno - 1 )) 71 done 72 [ $? -eq 0 ] exit 1 73 ################################################################## 74 75 ################################################################## 76 # 事前に横線のy 軸を2mm 区切りで61 本分用意する 77 ################################################################## 78 jyunbi_yokolsu=61 79 yokol_ypos=43 80 for tngls in $(seq ${jyunbi_yokolsu}) ; do 81 echo "${yokol_ypos} ${yokol_ypos}" 82 # $tmp-yokol_yposall 83 # 1: 横線 y 軸始点 2: 横線 y 軸終点 84 # y 軸始点を2mmずつ増加させる 85 yokol_ypos=$(( $yokol_ypos + 2 )) 86 done > $tmp-yokol_yposall 87 [ $? -eq 0 ] exit 1 88 ################################################################## 89 90 ################################################################## 91 # 縦線の間ごとに横線を1 本ずつランダムに追加する 92 ################################################################## 93 yokol_sxpos=18 94 yokol_expos=38 95 rand_lsu=$(expr ${kumisu} - 1 ) 96 for tngls in $(seq ${rand_lsu}) ; do 97 echo "${yokol_sxpos} ${yokol_expos}" 98 yokol_sxpos=$(( ${yokol_sxpos} + 20 )) 99 yokol_expos=$(( ${yokol_expos} + 20 )) 100 done > $tmp-yokol_xposall 101 [ $? -eq 0 ] exit 1 102 # y 軸とjoinするために行番号を付与する 103 # $tmp-yokol_xposall 104 # 1: 横線 x 軸始点 2: 横線 x 軸終点 105 rank $tmp-yokol_xposall 106 maezero 1.2 > $tmp-yokol_xposall_gyo 107 # 1: 行数 2: 横線 x 軸始点 3: 横線 x 軸終点 maezeroコマンドはユニケージコマンド 画面 3 参照 108 [ $(plus ${PIPESTATUS[@]}) -eq 0 ] exit 1 109 110 # 事前に用意した横線のy 軸に乱数を付与する 111 seq 1 1000 ransu 61 112 # $tmp-yokol_yposall 113 # 1: 横線 y 軸始点 2: 横線 y 軸終点 114 ycat $tmp-yokol_yposall - ycat コマンドはユニケージコマンド 画面 4 参照 27

115 # 1: 横線 y 軸始点 2: 横線 y 軸終点 3: 乱数 116 msort key=3n 117 delf 3 118 # x 軸とjoinするために行番号を付与する 119 rank 120 maezero 1.2 121 # 行番号でjoin 122 join1 key=1 $tmp-yokol_xposall_gyo 123 # 1: 行番号 2: 横線 x 軸始点 3: 横線 x 軸終点 4: 横線 y 軸始点 5: 横線 y 軸終点 124 self 2 4 3 5 > $tmp-hikisu_line.3 125 # 1: 横線 x 軸始点 2: 横線 x 軸終点 3: 横線 y 軸始点 4: 横線 y 軸終点 126 [ $(plus ${PIPESTATUS[@]}) -eq 0 ] exit 1 127 ################################################################## 128 129 ################################################################## 130 # lineの文字列を一括で付与 131 ################################################################## 132 cat $tmp-hikisu_line.1 $tmp-hikisu_line.2 $tmp-hikisu_line.3 > $tmp-hikisu_line.1-2-3 133 echo "line" 134 joinx - $tmp-hikisu_line.1-2-3 > $tmp-hikisu.line joinxコマンドはユニケージコマンド 画面 5 参照 135 ################################################################## 136 137 ################################################################## 138 # 名前を書き入れるための円を追加する 139 ################################################################## 140 en_xpos=18 141 en1_ypos=13 142 en2_ypos=29 143 en_hankei=8 144 :> $tmp-hikisu.en ❸ 145 for tngls in $(seq ${kumisu}) ; do 146 echo "en $en_xpos $en1_ypos $en_hankei" >> $tmp-hikisu.en 147 echo "en $en_xpos $en2_ypos $en_hankei" >> $tmp-hikisu.en 148 en_xpos=$(( $en_xpos + 20 )) 149 done 150 [ $? -eq 0 ] exit 1 151 ################################################################## 152 153 ################################################################## 154 # 線の太さを一括で付与 155 ################################################################## 156 cat $tmp-hikisu.line $tmp-hikisu.en > $tmp-hikisu.line_en.1 157 echo "2" 158 joinx $tmp-hikisu.line_en.1 - > $tmp-hikisu.line_en 159 ################################################################## 160 161 ################################################################## 162 # Powered by I.Ayuse を追加する 163 ################################################################## ❹ 164 echo "text 291 193 right top gothic 15 black Powered_by_I.Ayuse" >> $tmp-hikisu.text 165 ################################################################## 166 167 ################################################################## 168 # 結果をPDF 化 169 cat $tmp-hikisu.line_en $tmp-hikisu.text > $tmp-hikisu.result ❺ 170 wpdf -p a4y $tmp-hikisu.result > /home/usp/work/amida.pdf 171 ################################################################## 172 28 2015 July

173 # 終了 174 rm -f $tmp-* 175 exit 0 画面 1 rank 画面 4 ycat ランクを付与します $ cat data JPN 杉山 26 JPN 崎村 27 JPN 梶川 27 $ rank data 1 JPN 杉山 26 2 JPN 崎村 27 3 JPN 梶川 27 画面 2 join1 トランザクションファイルにマスターファイルを連絡します $ cat master 0000003 杉山 26 F 0000005 崎村 50 F $ cat keihi 20070405 0000003 600 20070401 0000005 250 20070402 0000005 450 20070402 0000007 210 $ join1 key=2 master keihi 20070405 0000003 杉山 26 F 600 20070401 0000005 崎村 50 F 250 20070402 0000005 崎村 50 F 450 画面 3 maezero 前ゼロを埋める $ cat data 12 345 6789 $ maezero 1.5 2.6 data 00012 000345 6789 ファイルの横連結 $ cat file1 0000000 浜地 50 F 0000001 鈴田 50 F $ cat file2 0000000 91 59 20 76 54 0000001 46 39 8 5 21 $ ycat file1 file2 > file3 $ cat file3 0000000 浜地 50 F 0000000 91 59 20 76 54 0000001 鈴田 50 F 0000001 46 39 8 5 21 画面 5 joinx 2つのファイルを総掛けで連結します $ cat data1 1 農業 2 工業 3 サービス業 $ cat data2 1 東京 2 大阪 3 名古屋 $ joinx data1 data2 1 農業 1 東京 1 農業 2 大阪 1 農業 3 名古屋 2 工業 1 東京 2 工業 2 大阪 2 工業 3 名古屋 3 サービス業 1 東京 3 サービス業 2 大阪 3 サービス業 3 名古屋 [1] アミダくじの縦線を引きます (❶16 29 行目まで ) [2] 縦線に合わせて横線 ( 底線 中間線 ) を引きます (31 135 行目まで ) [3] 1 本の縦線に対して上部に円を 2つ引きます (❸137 151 行目まで ) [4] テキスト文字を追加します (❹161 165 行目まで ) ユニケージでは 線 枠 テキスト文字の最小部品の組み合わせから PDF ファイルを作成しています 部品の組み合わせによっては 多様なニーズに合わせたグラフや表の作成も可能です ここでは 紹介できませんが 数十種類のグラフ混じりの帳票出力や 日々変化する品目の平均価格を表す市況情報のグラフ作成に使用されている実績があります [5] PDF ファイルを作成します (❺167 171 行目まで ) 29