awkを使って特定の日時の範囲でログを抽出する

ある日時からある日時までのログを抽出したい(7月31日9時から8月1日9時まで、など) timegrepのような便利なコマンドを追加するという手もあるが、現場ではハードルが高い*1。 特別なコマンドを利用することなく、プリインストールされているコマンドで対応す…

8946のTake#1から#4まで

いまさらながら8946|ハッキングチャレンジサイトというサイトを見かけたので、ちょこちょこ解いてみましょう 特に答えを書くなという注意はないが、答えを書くのはマナー違反かとおもうので、自分が思い出せるようなヒントだけ Take1:読む Take2:読む Take3…

RLoginでログに制御文字を記録しないための設定

RLoginでログをとっておき後で見返したりしたい。 RLoginのログ設定のデフォルトはRAWであり、そのままログを取ると制御文字などをすべてログに書き込むため、後で読むときにしんどい。 設定変更して単純なテキストファイルとしての可読性を上げることができ…

/bootの容量不足でyum updateに失敗する場合はyum-utilsを使って古いKernelを削除する

yum update を実行すると/bootの容量が足りず更新できないことがある これは古いカーネルが/boot以下に保存されているために発生する*1 yum-utilsを利用してpackage-cleanup --oldkernels するとgrubも含めて古いカーネルをよろしく削除してくれる *1:アップ…

awkスクリプトのデバック方法

ここひと月ぐらい割とawkを使うようになり、自分なりにmanを読んだり、試行錯誤したawkスクリプトのデバック方法のメモ。 環境 gawkのデバックオプションを使う printデバックする gawkの互換性チェックのオプションを使う gawk付属のプロファイラを使う gaw…

CentOSにおけるコマンドの格納パスのおさらい

CentOSの一般ユーザーでlsofを使おうとしたがPATHが通っていなかった。なぜだろうと調べたところ、Filesystem Hierarchy Standardで決まっているコマンドの格納パスについてすっかり忘れていたのでおさらいした際のメモ 本論 あるサーバーでlsofを使おうとし…

Excel VBAでシートの存在有無を判定するのにループはいらない。On Errorステートメントを使おう

Excel VBAでシートの存在有無を判定する場合にループ使うのは冗長だなーと思ったのだが、実はOn Errorステートメントを使うとすっきりと書けた、という話。 元ネタはExcel VBA If WorkSheet(“wsName”) Exists - Stack Overflow

ワイルドカードによるマッチングはGLOBっていうんですね

日常的にワイルドカードを使っているくせにちゃんと名前を知らなかったんだなあ、というメモ。 ワイルドカードってのはls *.txtのようなやつ。 文字列に ‘?’, ‘*’, ‘[’ が含まれていると、 それはワイルドカードパターンとみなされる。 「glob する」という…

CentOS7でNetworkManager(nmcli)を使用してNICを自動起動にする

自前の仮想マシン(CentOS7)にsshしようとしたら、そもそもLinkUPしてなかったので、とりあえずNICを自動起動に設定したメモ*1*2 #NICの開始 [root@localhost ~]# nmcli dev connect eno16777736 Device 'eno16777736' successfully activated with '314879d4…

scriptコマンドで取得したログを綺麗に読む

scriptで取得したログにエスケープシーケンス含まれる場合、単純なテキストとして読むとエスケープシーケンスがESC~のような表示されてしまい読みづらい。 が、less -Rで読むと綺麗に読める。 scriptなどでログを取るときに変な文字(制御文字)のない状態で…

CentOS7でデフォルトログインをCUIにする

CentOS7などのsystemを利用するOSでデフォルトログイン方法をCUIに変えるにはディスプレイマネージャを無効にすればよい。 環境 [root@localhost updates]# cat /etc/redhat-release CentOS Linux release 7.3.1611 (Core) 状態の確認 サービスの有効化を確…

CentOSでyum update時に”Repodata is over 2 weeks old. Install yum-cron? Or run: yum makecache fast”というメッセージが出たときは素直に「yum makecache fast」しましょう

長いので結論だけ先に書くと CentOSでyum update時に”Repodata is over 2 weeks old. Install yum-cron? Or run: yum makecache fast”というメッセージが出ることがある これはyumのキャッシュデータ*1が古くなって失敗している。 yum claen allしろというサ…

Sakura Editor で行選択をする

トリプルクリックすると行選択される。

Powershellの正規表現で桁数固定の文字列にマッチさせたいとき

とても基本的なことなのだが、ちょっとはまってしまったのでメモ。 Powershellの正規表現で桁数固定の文字列にマッチさせたいとき、ちゃんと数値の前後の文字列もパターンに含めないと意図しない文字列にもマッチしてしまう 例えば、「test.NNN」(Nは0-9の数…

Powershellで指定した行数でファイルを分割する

例えばカレントディレクトリのtest.txtを3行ごとにtest[N].txtに分割するときは以下のように書く(は任意の0以上の整数) $i=0; cat .\test.txt -ReadCount 3 | % { $_ > test$i.txt;$i++ } cat(=Get-Content)のReadCountオプションで3行ずつパイプラインに渡…

PowershellでWunderListのAPIを触ってみる(新刊.netのRSS Feedを利用して本をWunderListに登録する)

環境 Invoke-RestMethod と ConvertTo-Json が必要なのでPowershell v3.0以降で動くはず 前準備 Authorization | Wunderlist Developerに従って以下のことをしておく WunderListへのアプリケーションの登録 Web Server Application Integrationに従って、ア…

Windowsでオープン拡張辞書を利用して改行を含む文字列を辞書登録する

WindowsのIMEに複数行の文字列を登録したい場合は、オープン拡張辞書を作成する。 Microsoftから配布されているオープン拡張辞書を作成するためのエクセルファイルを利用して作成できる。 ただし、一部制限事項はあるので注意が必要。 ダウンロードとインス…

Markdownでかっこをエスケープする

バックスラッシュ[]を使って特殊記号をエスケープできる。 誤:[Resolve\-DnsName](https://technet.microsoft.com/ja-jp/library/jj590781(v=wps.630).aspx) 正:[Resolve\-DnsName](https://technet.microsoft.com/ja-jp/library/jj590781\(v=wps.630\).as…

Powershellで名前解決する

なにも考えずにResolve-DnsNameする PS C:> Resolve-DnsName google.com Name Type TTL Section IPAddress ---- ---- --- ------- --------- google.com AAAA 204 Answer 2404:6800:4004:80f::200e google.com A 204 Answer 216.58.197.238 (≒nslookup) 単純…

Powreshellでnetstatする

何も考えずにGet-NetTCPConnectionする #外部の80番ポートに対する通信を表示する Get-NetTCPConnection | where {$_.RemotePort -eq 80 }

2016年を振り返る

今年も残業が多かった 仕事をして技術的に得られたことはあまりなく、会議や調整ばかりしていたなあ。 来年はもう少し頑張りたい。

Powershellでローカルユーザーを管理する(Microsoft.PowerShell.LocalAccounts)

昨日の「Hey, Scripting Guy」!*1を読んでいて知ったのだが、最新のPowershell*2ではローカルユーザーを管理できる。 実行環境 Microsoft Windows 10 Pro (10.0.14393) Major Minor Build Revision ----- ----- ----- -------- 5 1 14393 576 実際のコマンド…

Powershellでループを書かずに指定回数処理を繰り返す

範囲演算子(..)とパイプ(|)でループ処理のようなことができる 普通にループで書くなら以下のようになる。 #forループの場合 for ($i=0; $i -lt 10; $i++){ echo "hoge" } #foreachループの場合 foreach($cnt in 1..10){ echo "hoge" } でも下のほうがすっき…

Powershellでプリンターの状態を取得する

Powershellでプリンタの状態(ステータス)を取得するにはPrintManagementモジュールのGet-Printerを利用すればよい。 必要な環境 Powershll 3.0 以降 実行例 Get-Printerコマンドレットで特定のプリンタ名を指定してでCIMインスタンス*1を取得し、PrinterStat…

Active Directory証明書サービス(ADCS)でDeltaCRLを無効化する際にちょっとだけ嵌った話

大したことはないのだけれど、備忘のためにメモ。 ADCSが停止かつDeltaCRLの有効期限が切れた状態で、DeltaCRLを無効化した。 その後ADCSを起動すると証明書が発行できなくなった。 対策として、ADCSの停止⇒DeltaCRLを有効化して⇒ADCSを起動⇒DeltaCRLを無効…

Powershellでアナグラムの判定をする

技術面接で出された問題 - esm アジャイル事業部 開発者ブログ 上記のエントリを読んでPowershellだとどうやって実装するかなーと思ったので、テキトーに試す。 ソートだとこんな感じ?*1 [String]$a="ABCB" [String]$b="BCAB" if($a -eq $b){return $false}…

Copy-itemを使ったディレクトリコピーはしないほうが無難なのでは、という話

Copy-itemを使ったディレクトリコピーはコピー先に指定するディレクトリの有無に依存して挙動が変わってしまう。 面倒でもディレクトリコピーはしないほうが無難であり、コピー先フォルダを作成した上で、コピー元フォルダ以下をワイルドカードコピーすべき…

PowershellでARPテーブルを表示する(Get-NetNeighbor)

PowershellでARPテーブルを確認するときはGet-NetNeighborコマンドレットが使える 環境 PS C:\> #OSのVersion PS C:\> "$((get-wmiobject win32_operatingsystem).caption) ($((get-wmiobject win32_operatingsystem).version))" Microsoft Windows 10 Pro (…

中尾ゆうすけ『これだけ!OJT(2010)』

これだけ! OJT作者: 中尾 ゆうすけ出版社/メーカー: すばる舎発売日: 2010/12/17メディア: 単行本 クリック: 8回この商品を含むブログ (3件) を見る 後輩の面倒をみることになったので読んだ。そこそこ面白かった。 以下は引用と適当なコメント 「PDCA」を…

分かりやすい資料を作るために読む本:高橋佑磨・片山なつ『伝わるデザインの基本』

誰でもそうだとは思うが、私も学校や職場でいろいろな資料を読んだり、作ったりしてきた。 分かりやすい資料は、スっと頭に入ってくる。それに対して、同じような内容が書いてあっても、ひどい資料はどこまでもひどく、正確に読み解くのに非常に労力を割かざ…