find, grepでキーワードを含むファイルを検索する
趣の異なる同名の関数が複数ファイルで見つかった場合に組んだシェル
>|sh|
#!/bin/sh
class=HogeClass
echo "検索するクラス: "$class
find . -type f -name *.php | xargs grep $class | awk -F':' '{print $1}' > target_file.txt
for file in `cat target_file.txt`
do
echo $file
for func in `cat function_file.txt`
do
echo "検索する関数: "$func grep -n $func $file
done
done
ORACLE テーブルの制約を確認する
SET LINESIZE 500;
COL TABLE_NAME FOR a30;
COL COLUMN_NAME FOR a30;
COL CONSTRAINT_TYPE FOR a5;
SELECT
C.TABLE_NAME, CC.COLUMN_NAME, C.CONSTRAINT_NAME, C.CONSTRAINT_TYPE
FROM
USER_CONSTRAINTS C, USER_CONS_COLUMNS CC
WHERE
C.TABLE_NAME = CC.TABLE_NAME
AND
C.CONSTRAINT_NAME = CC.CONSTRAINT_NAME
AND
C.TABLE_NAME = 'xxx'
ORDER BY
CC.TABLE_NAME, CC.COLUMN_NAME, C.CONSTRAINT_TYPE;
Oracle UNDO領域を変更する
sqlplus / as sysdba
set pages 10000
set lines 120
col NAME for a40
col bytes for 999,999,999,999
select file#, bytes, name from v$datafile where upper(name) like '%UNDO%';
ALTER DATABASE DATAFILE '/xxx/yyy/UNDO.DBF' RESIZE 3G;
Oracle 運用作業 Tips
●テーブル作成のDDLを抽出する
set long 3000;
select dbms_metadata.get_ddl('TABLE', 'HOGE_TABLE') from dual;
●シーケンス作成のDDLを抽出する
select dbms_metadata.get_ddl('SEQUENCE','HOGE_SEQ') from dual;
●全体の表示形式を整える
set pages 500 lines 1000 trims on;
●カラムごとの長さを指定する
col hoge_column for a30;
※30文字で折り返しが発生するようになる
●カラムごとの指定を解除する
col hoge_column clear;
rm * で注意すること
イタい目みたので備忘録。
結論からすると、ファイル数が多くなる(1,000件を超えるような)場合は
rm *
で削除するべきではない。
正解はこちら。
echo * | xargs rm
コマンドを発行する際に引数の長さに最大数(ARG_MAX)が設定されていて
rm *
で対応しようとすると、この最大数の制限にヒットしてしまう可能性があるから。
*に該当するファイル一覧を作って削除するみたい。
以下の様なコマンドを実行してるイメージなのかな?
rm aaa bbb ccc
正解の方だと、「echo」コマンドでは引数の長さをチェックしないので
どれだけあってもファイルを削除してくれる。
「getconf ARG_MAX」
とか意識したこと有りませんでした。…反省。
参考サイト:
素敵なエディタ Sublime Text 2
最近流行っている(?)らしいエディタです。
仕事で使っていますが、もうeclipseさん、さようならですね。
Tip的な情報を記載していきます。
・Subversion と連動する
「Sublime Tortoise」をインストールすると、TortoiseSVNと連動して
TortoiseSVNのUIでsvn管理できます。
※※※※※※※
インストールはPackage Controllを使いました。
これがうまくいかなくて、設定ファイルを参照したら
Preferences → Package Settings → Package Control → Setting User
で
==============================
"repository_channels":
[
"https://sublime.wbond.net/repositories.json",
install
]
==============================
となっていました。上記の「install」を削除したら、
Package Control が機能してくれるようになりました。
ごちゃごちゃいじった時にごみが紛れ込んだようですね。