Created
January 20, 2014 00:26
-
-
Save calorie/8512924 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#MysqlでFKの一覧を調べるワンライナー | |
mysql -u resolver --password=resolver resolver < TableList.sql |sed 's/\\n/&\ | |
/g'| grep 'CONSTRAINT .* FOREIGN KEY'|cut -d ' ' -f4 > FKList | |
# ファイル名を置換するワンライナー | |
ls *.png | cut -d ' ' -f14,15,16,17 |perl -nle '$o=$_;$_=~s/\s/_/i;$_=lc($_);$_=~s/^/icon_/i;rename($o, $_);' | |
ls *.png | cut -d ' ' -f14,15,16,17 |perl -nle '$o=$_;$_=~s/\s/_/i;$_=lc($_);$_=~s/^/button_/i;rename($o, $_);' | |
ls *.png |perl -nle '$o=$_;split($_);print $_' | |
# .svnを消す | |
rm -rf `find ./ -type d -name .svn ! -regex \.svn/. -print` | |
rm -rf `find ./ -type d -name __MACOSX ! -regex __MACOSX/. -print` | |
rm -rf `find ./ -type f -name vssver2.scc ! -regex vssver2\.scc -print` | |
rm -rf `find ./ -type f -name .DS_Store ! -regex \.DS_Store -print` | |
hogehoge.txtより最終更新日が新しい/path/to/dir以下のファイル名を表示 | |
1. find /path/to/dir -type f -newer hogehoge.txt | |
hogehoge.txtより最終更新日が古い/path/to/dir以下のファイル名を表示 | |
1. find /path/to/dir -type f ! -newer hogehoge.txt | |
最終更新日が2008年3月1日0時より新しい、/path/to/dir以下のファイル名を表示 ※3/21 「-d」が抜けていたのを修正しました。 | |
1. touch -m -d '2008/03/01 00:00:00' hogehoge | |
2. find /path/to/dir -type f -newer hogehoge | |
最終更新日が2008年3月1日0時より古い、/path/to/dir以下のファイルを削除 | |
1. touch -m -d '2008/03/01 00:00:00' hogehoge | |
2. find /path/to/dir -type f ! -newer hogehoge -exec rm {} \; | |
-execの{}には、findでマッチした各ファイル名が入って、指定したコマンドが実行されます。最後の\;を忘れずに。 | |
findの結果を受けてコマンドを実行するのは、xargsでもできます。 | |
/path/to/dir以下の.svnディレクトリを一括削除 | |
1. find /path/to/dir -type d -name '.svn' | xargs rm -rvf | |
subversionを使っていると、使う機会があるかもしれません。 | |
diffも便利です。 | |
指定した二つのディレクトリ内で、異なっているファイルがないか調べる。 | |
1. diff -brtBEq /path/to/dir1 /path/to/dir2 | |
findとsedでディレクトリ内のファイルからある文字列を一括置換する | |
find . -name "*.hbm.xml" -exec sed -i 's/hibernate-mapping-2.0/hibernate-mapping-3.0/g' {} \; | |
b、t、B、Eで、タブ、スペース、空行の違いが無視されます。 | |
rは再帰的に、qはファイル名だけ表示するオプションです。 | |
文字コード・改行変換 | |
find . -name '*.sql' | xargs nkf --overwrite -w -Lu | |
iconv -s -f SHIFT_JIS -t UTF-8 | |
find . -name '*.java' | xargs nkf --overwrite -w -Lu --ic=EUC-JP --oc=UTF-8 | |
killする方法 | |
pgrep screen | sudo xargs kill | |
Findで見つかった全ファイルをディレクトリ構造ごとコピーする | |
find ./ -type f -mtime -1 | cpio -pd ../banner | |
find ./ -type f -mtime -2 -name "*.scala" | cpio -pd | |
find ./ -type f -mtime -2 -name "*.pdf" | cpio -pd ../pdf | |
../work Subversion の .svn や Mac 固有の .DS_Store, ._* を含めず zip アーカイブを作成する | |
zip -r [アーカイブ名] [アーカイブ対象ディレクトリ] -x *.svn* *.DS_Store* *._* | |
svnでディレクトリ全体をignoreをかけるコマンド | |
svn propset svn:ignore ‘*’ [ディレクトリ名]/ | |
svn statusで変更があったファイルのみディレクトリ構造毎別なディレクトリにコピーする湾来名 > svn status | cut -d ' ' -f8 | cpio -pd ../work | |
一日のコミットを表示 | |
echo "$(PROJECT=$(url=$(git config remote.origin.url) && url=${url#*github.com?} && echo ${url%.git}) && echo "hash | title" && echo "-----|------" && git log --since='12 hours ago' --author=$(git config user.email) --pretty="format:[%h](https://github.com/$PROJECT/commit/%h) | %s" | perl -nle "\$_ =~ s|#(\\d+)|[#\\1](https://github.com/${PROJECT}/pull/\\1)|g; print \$_")" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment