仕事メモとか

仕事中に調べた情報とか知ったことをメモしています。
unixコマンド, vim, oracle, putty, postgresql, bash, EXCEL, python, SQL全般 など。
最近は tableau, movabletype とかも触ったりしています。
雑な読書感想とかはこちら

カテゴリ: unix


はい、ターミナルで実行していて、ちょっと席をはずすと回線切れてた、
という場合、長いプログラムを実行すると結構困ったりします。

ということで、こんな感じに簡易的に再現しました。

nohup {コマンド} >& {出力ファイル} & 
tail -f {出力ファイル}

これなら切れてもプログラムは動いてる+一応出力をtail -fで追える。
一旦こんな簡単な形で対応しました。

参考:
https://www.atmarkit.co.jp/ait/articles/1708/24/news022.html
http://workmemo.techblog.jp/archives/10595821.html
このエントリーをはてなブックマークに追加

grepでヒットした行の前後を出す

前に覚えていたのに、改めて「あれ、こういうのもあったっけ、超便利」と思い返したので、
もう一度忘れないようにメモ(多分わすれるだろうけど)。


grep -B5 {検索文字}   #前五行も出す
grep -A5 {検索文字}     #後ろ五行も出す

BとかAはそのあとに行数に当たる数字を入れるため、B1にしたら「該当行と1つ前の行を出す」になります。

アルファベットと数字の間はスペースがあってもなくても両方動く。
あと、そもそも前後x文字という場合は、

grep -2 {検索文字}

のようにハイフンと数字にすると、その数字の行分前後が追加される。

このエントリーをはてなブックマークに追加

ファイルの指定の行数を見たい場合(sed編)

ファイルをちょっと見たい、という場合、catすれば良いんですが、それだとデータが壮大にある場合辛い。

headとかtailを使って上やら下やらのデータをちょっと見る分には楽なんだけど、
今回やりたいことが500行目付近のデータというマニアックな状況。

こういう場合、sedを使って行指定できました。

例)
sed -n 500p ファイルを指定

ちなみに複数行やりたい場合はカンマ区切りでいけるらしい(未検証)

例)
sed -n 490,510p ファイル名

これで490行目から510行目までを指定できるっぽい。



参考:
https://qiita.com/y_310/items/2c40e0671b89ce6c15d5
このエントリーをはてなブックマークに追加

unzipで指定のファイルだけ取り出す

プログラムを見たら、unzipで全部解答した後、不必要なファイルを削除する処理が入っていました。
よく考えたらこれ、使うやつだけ回答すれば良いんじゃ? と思って調べました。

まず、ファイル名がわかってる場合

unzip {圧縮されたデータ}.zip {回答したいファイル名}

第二引数以降でやればOK。簡単です。
ワイルドカードも使えるので、命名規則があるならだいたいこれでOK。

次にファイル名がわかってない場合。

-u 更新されたファイルや新規ファイルだけを展開

これで同一ファイルをなんども処理する時に、更新だけ取ってこれる。

-x 展開しないファイルを指定

おまけでこちらも。
今回は要らないけどデカイファイルが一緒にある、みたいな時に便利。


参考:
https://www.atmarkit.co.jp/ait/articles/1608/08/news022.html


このエントリーをはてなブックマークに追加


lnコマンドでディレクトリのシンボリックリンクを張り替え

はい、ディレクトリ構成を変更したので、
シンボリックリンクの向き先を変更するにはどうすればいいんだろう、と調べました。
一旦消して~とも思ったんですが、リンクを消すときに間違えてリンク先の実態が消えそうで
本当怖い。

なので向き先だけを変更すればいいのでは? と思って調べたら、ちょうどいいのありました。


ln -nfs {向き先} {リンク名}

オプションの意味
-n:ディレクトリでも指定OK
-f:リンクファイルと同名のファイルがあったら上書き
-s:シンボリックリンク作成

利用頻度が少なすぎて、あんまり覚えてられないのでメモ。


参考:
https://qiita.com/takeoverjp/items/bb1576e90a8a495db4b3
https://www.atmarkit.co.jp/ait/articles/1605/30/news022.html
このエントリーをはてなブックマークに追加

↑このページのトップヘ