CentOS で キーボード配列が日本語106じゃない場合の対処方法
VMware Player にインストールしている CentOS 5.5 を触っていたら、
なぜかパイプ(|)が打てない。
?と思いながらもうしばらくすると、アスタリスク(*)も打てない。
これはまさか・・・
そう、キーボード設定が日本語じゃなくてUS配列になっているのである。
どーすりゃいいんだ〜〜っ!
と、ググったらなんとまぁドンピシャなblog記事がありました。
CentOSでキーボード設定が日本語じゃないときの対処法: m6 BLOG
1. /etc/sysconfig/keyboard
KEYTABLE="jp106" # USになってたら訂正2. /etc/X11/xorg.conf
Option "XkbModel" "jp106" # pc105とかになってたら訂正
Option "XkbLayout" "jp" # usになってたら訂正
俺は両方とも該当していました。
ともにviで編集。
・・・ちなみにコロン(:)も配列変わってるので保存できない!と1分悩むw
最終的にはWikipediaにも助けてもらいましてw
プラス(+)入力をしたら無事にコロン出てきました。
なお、変更しても即時反映ということはなく、
(キーボードのデーモン?ってあるんでしょうか?)
OS再起動後にめでたく治りました。
ちゃんちゃん♪
SQL*Plusから、CSVでSPOOLする
Oracleを使っていると必ず話題になるこのネタ。
自分も業務でそんなスクリプト一杯作った気がするが、
先日、oracleがあんまり得意でない後輩に尋ねられて・・・あれ?
パッと書けなくなってた(汗)
簡単なサンプルを提示しようと思い、昔の記憶を呼び起こしながら、
リファレンスとGoogle先生でシステム変数の設定を補足してカリカリと書いてみた。
【テーブル】
create table TBL1 (
col1 number(4),
col1 varchar2(10),
col3 date
)
【データ】※各値にはスペースは含まれていない
col1 col2 col3
1 AAA 2011-04-22
2 BBB 2010-03-31
3 CCC 2012-01-01
【CSV出力】
set head off -- ヘッダを出力しない
set trimspool on -- 行末以降の空白をカット
set pagesize 0 -- 1ページのサイズを定義しない(=全行1ページ内に出力)
set termout off -- 画面に結果出力しない。お好みで。
set feedback off -- 結果件数表示のon/off お好みで。
set echo off -- スクリプトで入力されたコマンドを出力しない。
spool csv_spool_tbl1.csv
select
col1 ||',' ||
col2 ||',' ||
col3
from TBL1;
- -
spool off
【出力結果】
1,AAA,2011-04-22
2,BBB,2010-03-31
3,CCC,2012-01-01
こうなる。意外と泥臭いSQL文である。
もっとスマートにやるなら all_tab_columns からカラム名を取って
どんなテーブルでも出力できるようにするという手があるが・・・
ここではそこまでしない。
ちなみに、そんな難しそうなことしなくても、列の区切り文字をカンマにすれば
(デフォルトはスペース)CSVで出るんじゃない?
とナメてかかった場合、出力時にSQL*Plusが見やすく調整してくれるために、
列と列の間に空白が空いてしまい、固定長CSVが出来上がってしまいます。
set head off
set trimspool on
set pagesize 0
set colsep ','
spool csv_spool_tbl1_colsep.csv
select
col1,
col2,
col3
from TBL1;
- -
spool off
【出力結果】
1 ,AAA ,2011-04-22
2 ,BBB ,2010-03-31
3 ,CCC ,2012-01-01
Windows7の共有
セキュリティ対策の一環でPCの共有フォルダを調べたところ、覚えのない共有が。
(スタートメニュー ->「コンピュータ」右クリック -> 「管理」 )
どうもこれ、Windows7で自動的に共有されているとのこと。
不要なので外す。