ablog

不器用で落着きのない技術者のメモ

2010-03-01から1ヶ月間の記事一覧

WWW::Mechanize と Web::Scraper を使って HTML からテキストを抽出して CSV を作成する Perl スクリプト

ちょっと書いてみた Perl スクリプトをメモっておく。 #!/usr/bin/env perl use strict; use warnings; use WWW::Mechanize; use Web::Scraper; use utf8; use Encode; my $mech = 'WWW::Mechanize'->new('autocheck', 1); $mech->get('http://www.ablog.co.…

Oracle の分析関数 dense_rank()

Oracle の dense_rank() 関数を使うと、 ある列の値で順位をつける。 同順位がある場合は順位を飛ばさない。 ということを実現できる。 SQL SQL> select sid, serial#, program, dense_rank() over(order by program) from v$session; 実行結果 SID SERIAL# …

サイズの大きいファイルを探す

$ du -a /opt|sort -n ... 19120408 /opt/app/oracle/admin/orcl/work/dump/exp_orcl_20100203123851.dmp 19120536 /opt/app/oracle/admin/orcl/work/dump/exp_orcl_20100203150412.dmp 19789772 /opt/app/oracle/oradata/orcl/temp07.dbf 19811300 /opt/app…

ファイルをリネームする Perl ワンライナー

やりたいこと あるディレクトリ以下のファイルを別のディレクトリ以下にコピーする。 コピー元ディレクトリは階層構造。サブディレクトリがある。 コピー先ディレクトリは階層構造ではない。1つのディレクトリ以下に全ファイルを置く。 コピー元に同じ名前の…

PL/SQLでシングルクオートをエスケープする方法

単一引用符(') を表現するための様式として単一引用符を2回連続して記述するという「シークエンス(シーケンス)」がある。... SQL> begin 2 dbms_output.enable(); 3 dbms_output.put_line('It''s a small world.'); 4 end; 5 / It's a small world. Orac…

特定のユーザで接続しているセッションを kill する PL/SQL スクリプト

yoheia/kill_sessions_by_username.sql at master · yoheia/yoheia · GitHub define user_name = &user_name set heading off set pagesize 0 set linesize 10000 set trimout on set trimspool on set feedback off set serveroutput on size 1000000 decla…

Data Pump で CONSISTENT=Y にする方法

exp の CONSISTENT=Y を Data Pump でやりたいときは、FLASHBACK_TIME を使えば良い。 expdp system/manager directory=pump_dir dumpfile=scott.dmp schemas=scott parallel=2 flashback_time=\"TO_TIMESTAMP\(TO_CHAR\(SYSDATE,\'YYYY-MM-DD HH24:MI:SS\'\…

WWW::Mechanize をインストールした

環境 $ uname -a CYGWIN_NT-5.1 ... 1.5.25(0.156/4/2) 2008-06-12 19:34 i686 Cygwin インストール手順 $ perl -MCPAN -e shell CPAN> install WWW::Mechanize Is it OK to try to connect to the Internet? [yes] 使ってみる $ perl -MWWW::Mechanize -e '…

Cygwin でファイル名が日本語のファイルが文字化けする

Cygwin で ls とかすると、ファイル名が日本語のファイルが化け化け。。。 $ ls -l 合計 0 -rwxrwxrwx 1 yohei_azekatsu ???????? 0 Mar 11 03:07 ?V?K????????.txt Cygwin導入&ある程度日本語化(Cygwin-JE未使用) | mizuk6nの【公開備忘録】 を参考に設…

Data Pump で import すると、スキーマを作ってくれる

Data Pump を使って import した後にログ見てみると、 ORA-31684: Object type USER:"SCOTT" already exists ... Job "SYSTEM"."SYS_IMPORT_FULL_01" completed with 1 error(s) at 20:58:32ってエラーメッセージが出力されていた。 スキーマ・モード IMP_FU…

CSV を処理する Perl ワンライナーいろいろ

CSV の列数をカウントする perl -F, -lane 'printf("%s:%d\n",$ARGV,$#F);$.>0 and close ARGV' *.csv 200911.csv: 21 200912.csv: 21 201001.csv: 21 201002.csv: 21 CSV の任意の列を頭0埋めする # ヘッダ(1行目)を削除する # 1列目、11列目の頭を12桁で…

2つのスキーマのテーブル・インデックスの差異を調べる使い捨てシェルスクリプト

#!/bin/bash export LANG=C export NLS_LANG=American_America.JA16SJISTILDE cd $(cd $(dirname $0);pwd) sqlplus -s system/manager@192.168.1.10:1521/orcl <

find + xargs + Perl で任意のディレクトリ以下を再帰的に検索してファイル内の文字列を置換する

find . -type f -print0|xargs -0 perl -i.org -ple 's/foo/bar/g' カレントディレクトリ以下のファイル内の文字列 foo を bar に置換し、元のファイルは .org をファイル名の末尾につけてバックアップする。 関連 再帰的にファイル名に接頭辞をつける Perl …

RHEL5.3 に Oracle Client x86-64をサイレント・インストールした

環境 # uname -r 2.6.18-128.el5 # cat /etc/issue Red Hat Enterprise Linux Server release 5.3 (Tikanga) Kernel \r on an \m # cat /proc/cpuinfo |grep lm|wc -l 4 インストール手順 10.2.0.1.0 をインストールする OS ユーザ・グループを作成する。 # …