bash

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

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

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

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

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

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

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

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

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 実際のコマンド…

bashで文字列を切り出す

お仕事で大変つらいスクリプトを見たので、備忘まで。 物自体はほぼ以下のページみたいな感じ。 逆引きシェルスクリプト/シェルスクリプトで文字列操作のleft, rightを作ってみた - Linuxと過ごす わざわざ文字列を切り出すためだけのために数十行以上の関数…

Bashでfizzbuzz

もうちょっとシンプルにならないかなー seq 1000 | awk '{ if($0%3==0){a="fizz"}; if($0%5==0){b="buzz"}; if(a b==""){print $0} else {print a b} a="" b="" }'