コピペコードで快適生活

明日使えるソースを自分のために

シェル

SJISのCSVからシェルで集計するまでの流れ

CSVのデータを集計を、シェルでさくっと終わらせたいときのためのメモです。 まずは文字コードを変換 だいたいCSVはSJISであることが多いので、シェルで正しく処理できるようにUTF-8に変換します。 # 使える文字コード一覧 iconv -l # f(from)の文字コード #…

シェルでファイル名・ディレクトリ名を一斉置換する

# ファイル find ./ -type f | grep old_word | awk '{print $0 " " $0 }' | awk '{sub("old_word", "new_word", $2); print $1 " " $2}' | xargs -n2 mv # ディレクトリ find ./ -type d | grep old_word | awk '{print $0 " " $0 }' | awk '{sub("old_word…

curlでたまに使うオプション

たまにしか使わなくて忘れていることがあるのでメモ。 随時追加していく。 # SSLエラーを無視 curl -k http://example.jp/ # リダイレクト対応 curl -L http://example.jp/ # リクエストにヘッダー追加 curl -H "key1: val1" -H "key2: val2" http://example…

シェルでいつか使うかもしれないコマンド・オプションまとめ

便利かどうかはわからないけど、いつか使うかもしれないコマンド・オプションを随時追加していく。 # 素数を出す # factorコマンドは素因数分解するコマンド seq 1 20 | gfactor | awk 'NF==2{print $2}' # 文字の16進数変換 # -p で 16進数にして出す # -p …

シェルで便利だったコマンド&オプションまとめ

随時追加していく。 # grepでOR検索 cat file.txt | grep -e hoge -e fuga # grepで前後行も出力 # -A -> 後の行数 # -B -> 前の行数 cat file.txt | grep -A 10 -B 5 hoge -e fuga # xargsでパイプで渡された値を任意の場所に突っ込む cat file.txt | grep …

sedコマンドの基本を知っておく

基本系 eオプションにコマンドを渡して使う コマンドにはs(置換), d(行削除), p(行抽出)などがある。 cat input.txt | sed -e 'コマンド' # もしくは sed -e 'コマンド' input.txt 使用例 # 正規表現で文字列の置換を行う cat input.txt | sed -e 's/xxx/XXX…

{print $1}しか知らない自分のためのAWKメモ

awkのことをきちんと知っておこうと思って、下記を読ませていただいたときのメモ書きです。 http://antibayesian.hateblo.jp/entry/2014/09/15/162605 条件マッチする行を抽出 # 10にマッチする行を抽出する。 awk /10/ trees.txt # 両方の条件を満たす行を…

シェルの便利コマンドメモ(cat, paste, join, comm)

処理対象ファイル a.txt 1. abc 2. def 4. xyzb.txt 1. 123 4. xyz 5. 456 cat ファイルを結合する $ cat a.txt b.txt 1.abc 2.def 4.xyz 1.123 4.xyz 5.456 paste ファイルを横に並べて結合する $ paste a.txt b.txt 1.abc 1.123 2.def 4.xyz 4.xyz 5.456 j…

ファイル、またはディレクトリだけに chmod するシェルのメモ

ファイルの場合 find . -type f -print | xargs chmod 644 ディレクトリの場合 find . -type d -print | xargs chmod 755

コマンドプロンプトでCygwinのシェルを使う

DLLコピー C:\app\cygwin\bin\cygwin1.dllを C:\Windows\System32配下にコピーする。 環境変数設定 システム環境変数のPATHに下記を追加。 C:\app\cygwin\bin C:\app\cygwin\usr\bin C:\app\cygwin\usr\local\bin 最後に 再度ログインする。これで使える。※C…

ディレクトリの容量を表示する - duコマンド

書式 du [オプション] [ディレクトリ名|ファイル名] 主なオプション -a # ディレクトリ内の各ファイルに対しても使用量を表示する -b # 結果をバイト単位で表示する -k # 結果をキロバイト単位で表示する(デフォルト) -s # 合計サイズのみを表示する -h # …

シェルでカレントディレクトリ配下のテキストファイルの中身を一斉置換

よく忘れるのでメモ。 # カレントディレクトリ以下 hoge を含むファイルを確認 grep -rn "hoge/" ./. # hoge を fuga に一斉置換 grep -rl "hoge/" ./. | xargs sed -i -e "s/hoge/fuga/g" ${1}