アウトプットができる技術者に

it's a time to take a new step !

Bash 配列

代入 arr=(1 2 3)単体出力 echo ${arr[0]} # => 1 echo ${arr[1]} # => 2全て出力 echo ${arr[@]} # => 1 2 3追加 arr+=(5 6) echo ${arr[@]} # => 1 2 3 5 6要素数 echo ${#arr[@]} # => 5ループ その1 N=`expr ${#arr[@]} - 1` for i in `seq 0 ${N}` do …

効率的なデバッグ手順の考察

デバッグ作業は迷うと大変 自分なりに少しずつ体系立ててみたい (原因が明らかな場合は手順とか不要だけど)いきなりデータを見ないのがミソ よく陥る罠 なんとなくで作業する DBにselect掛けまくる / grepしまくる 頭がこんがらがる 無為に時間を過ごす 手順…

DB2 データのバックアップ

DB2

この記事は未検証なため、注意 DB2の運用で純粋にバックアップとるなら、db2 backup コマンドを使う。 差分、全分バックアップが取れて良い dbの定義に関する情報を出力するなら、db2look ixf 形式で 特定スキーマバックアップするなら、db2move がよさげ cs…

Bash 標準出力と標準エラー出力を同時に受け取る

標準出力と標準エラー出力を同時にテキストファイルい出力する #!/bin/sh echo "abc" | awk '{ print("abc") > "/dev/stdout" print("zzz") > "/dev/stderr" }' > std.txt 2> err.txt Bash 関数 - How might I ...

awk 配列

awk

配列に値を格納 arr[0] = 123 arr[1] = 456要素数はlengthで出せる print "N=" length(arr)多次元配列っぽくはできるけど、多次元配列にはできない arr[key1,key2] = valfor文で舐めることができる splitはよく使う。第3引数の区切り文字は省略するとFSが使…

Perl 環境変数の出力

ENVに格納されている foreach $key (keys %ENV) { print "$key:$ENV{$key}\n"; } Perl 目次 - How might I ...

Perl 外部コマンドの実行とその戻り値

外部コマンド(OSコマンド)はバッククオートでくくることで実行でき、 標準出力は「戻り値」、リターンコードは「$?」で取得できる。 open(OUT, "> tmp/a.txt"); print OUT "1,a"; close OUT; $exe_val1=`cat tmp/a.txt`; $ret_code1=$?; print("executed_v…

log4j 設定サンプル

log4j 1.2系 propertiesファイルのサンプル log4j.rootLogger=DEBUG,file,stdout # appendar ファイル出力 log4j.appender.file=org.apache.log4j.RollingFileAppender log4j.appender.file.File=sample.log log4j.appender.file.MaxFileSize=1MB log4j.appe…

Java 環境変数を取得する

System.getenv() で 環境変数を取得できる import java.util.Map; public class Envi { public static void main(String[] args){ Map<String, String> map = System.getenv(); for(String key : map.keySet()){ System.out.println(key+"="+map.get(key)); } } } -- ... HOM</string,>…

awk 変数のスコープを局所変数にする小技

awk

awkの変数は基本的にGlobal変数だが、関数の引数にすることで局所化できる #!/bin/awk function hello(name, pre){ pre = "Mr." name = name "-san" print "hello " pre name # => hello Mr.Sato-san } { pre = "Miss " name = "Sato" hello(name) print pre…

awk 変数のスコープ

awk

基本的に変数はGlobal変数 ただし、関数の引数にするとLocal変数になる 配列はLocal変数にはならない。参照渡しになるため? #!/bin/awk function hello(name){ pre = "Mr. " name = name "-san" print "hello " pre name # => "helo Mr. Sato-san" } { pre …

Windows Command Prompt for文で繰り返しを処理する

1 - 10 までを 1づつインクリメントして、echoする for /l %i in (1,1,10) do echo %i

Sybase ASE viewの定義 確認

カラム定義確認 (sp_help) sp_help docomo_mail -- Name Owner Object_type Object_status Create_date -------------------------------------------- -------------------- -------------------------------------------- -------------------------------…

Batch処理 ディレクトリを構造をコピーする

src=di dist=d2 find ${src} -type d | sed "s/^${src}/${dist}/" | xargs -r mkdirんー、コピーはしてないな。コレ

svn リポジトリの作成

svn

リポジトリの作成は svnadmin で行う rep=/home/app/git/learnings/svn/rep rep_url=file://${rep} # create repository svnadmin create ${rep} # import sources svn import foo ${rep_url}/foo # check import sources svn list ${rep_url}

javadoc

http://www.oracle.com/technetwork/java/javase/documentation/index-jsp-135444.html http://www.oracle.com/technetwork/java/javase/documentation/index-137868.html#format http://www.oracle.com/technetwork/java/javase/documentation/index-137868…

git comment を修正する

git

直前のコメントを修正する git commit --amend

git Index

git

Git 良く使うコマンド一覧 - アウトプットができる技術者に github で 誤ってコミットしたファイルを再帰的(歴史的)に削除する - アウトプットができる技術者に git comment を修正する - アウトプットができる技術者に Git サービス - アウトプットができ…

awk 複数ファイル 結合

awk

echo "1,apple 2,orange" > tmp/in1.csv echo "1,100 2,200" > tmp/in2.csv awk -f awk/join.awk tmp/in1.csv tmp/in2.csvBEGIN{ FS="," OFS="," i=0 } FILENAME == ARGV[1] { id=$1 label[id]=$2 ids[i]=id i++ } FILENAME == ARGV[2] { id=$1 price[id]=$2…

awk 複数ファイル 入力

awk

単純に複数ファイルを引数に渡せばよい ファイルの入力順に読み込まれる echo "001,apple 002,pie" > tmp/in1.csv echo "001,orange 002,juice" > tmp/in2.csv awk -f awk/multi.awk tmp/in1.csv tmp/in2.csvBEGIN{ FS="," OFS="," } { print FILENAME, NR, …

圧縮Scriptサンプル

sapmle1 30日経過したファイルを圧縮して、arcchiveディレクトリへ find log -maxdepth 1 -mtime +30 -type f | xargs -r gzip find log -maxdepth 1 -name "*.gz" | xargs -r -i mv {} log/arch sample2 30日経過したファイル(複数)を1つに圧縮して、arch…

sed 基本コマンド

command command description d delete i insert a append p print q quit y 1文字づつ置換 s 文字列を置換 address 複数コマンド実行 sed '1d; 3d' 1行目と3行目を削除 複数行指定 sed '1,5d' 1 - 5行目までを削除 指定行以外を実行 sed '1!d' 1行目以外を…

screen

screenはunix上で複数画面にできる素敵ツール clientからのssh接続が切れても、sessionが残るので 長時間のバッチ処理とかに便利 suする前に実行する必要有 コマンド 画面操作 C-a S 画面分割。横分割のみ。 C-a Q 分割終了 C-a x 画面を閉じる C-a d デタッ…

Apache POI テンプレートにしたExcelファイルが壊れる件

が、時折発生する。 グラフがある場合に発生しやすい? 近いうちに検証予定

Batch処理 Dateコマンドで年月を求める際の注意点

Dateコマンドで先月を求めるときは、注意 こうやって書いてはいけない date -d"${ymd} 1 month ago" +"%Y%m"月末にきちんと動作しないため # NGなケース ymd=20140329 date -d"${ymd} 1 month ago" +"%Y%m" 201403 # 28までは必ず先月中に日付があるので問題…

ftp batch 処理でファイル取得

他システム連携ではありがちなFTP取得も もちろんBatch化できる #!/bin/sh cd `dirname $0` host=xxx.jp id=foo pass=bar ftp -nv ${host} << _END user ${id} ${pass} cd /international.cute.coocan.jp/homepage/tmp prompt mget *.txt bye _END

awk 複数ファイル 出力

こんな感じで書ける { print ($1,$2) >> "tmp/out1.txt" print ($3,$4) >> "tmp/out2.txt" } awk 目次 - How might I ...

cpでxargsを使う

iオプションと{}でできちゃいます xargsべんりー find ./ | xargs -i cp {} dist/

Sybase ASE 入門 集約関数

max nullを含む列で実行すると、max値としてnullを返す?(検証予定) いずれにせよ、not null の条件をwhere句につけたほうが無難

Sybase ASE 入門 SQLチューニング

set showplan on でクエリプランを表示する 1> set showplan on 2> go QUERY PLAN FOR STATEMENT 1 (at line 1). STEP 1 The type of query is SET OPTION ON. 1> select * from t1 2> go QUERY PLAN FOR STATEMENT 1 (at line 1). Optimized using Serial M…