ちょっとした処理のために、bashでファイルから改行を含むn文字~x文字分の範囲を抽出したいなぁと思い、最初はreadで実現しようと思ったのだが、どうも改行を含む文字数となるとうまくいかなかった。 で、tailとheadでとりあえず実現したので、念のため備忘として残しておく。 なお、この際改行も文字数として含まれるので注意すること。
cat file | tail -c +$((開始文字数 + 1)) | head -c $((終了文字数 + 1))
ちょっとした処理のために、bashでファイルから改行を含むn文字~x文字分の範囲を抽出したいなぁと思い、最初はreadで実現しようと思ったのだが、どうも改行を含む文字数となるとうまくいかなかった。 で、tailとheadでとりあえず実現したので、念のため備忘として残しておく。 なお、この際改行も文字数として含まれるので注意すること。
cat file | tail -c +$((開始文字数 + 1)) | head -c $((終了文字数 + 1))
LinuxやMac OS Xで、ファイルの先頭や末尾の数行だけを除外した状態でデータがほしい場合は、headやtailコマンドを用いると簡単に行える。
head -n -N # 末尾からN行を除外する
tail -n +N #先頭からN-1行を除外する
ボケっとネットサーフィンしてたら、ログとかをtailする際に便利そうな『colortail』というコマンドを見つけたのでインストールしてみることにした。
以下のコマンドでインストール出来る。
sudo apt-get install colortail
ログを監視する際によく利用するtailコマンド。
以外と、普通に実行するのと「-F」でのリアルタイムでのログ監視以外はあまり知られてないのではなかろうか。
今回は、そんなtailコマンドで覚えているとちょっと役に立つ使い方を紹介する。
基本的には、以下のようにコマンドを実行することで指定したファイルの末尾から行(デフォルトでは10行)を抽出して表示してくれる。
tail ファイルPATH
[root@test-centos7 ~]# tail /var/log/messages
Jul 20 18:59:15 test-centos7 root:...
LinuxやUNIXを利用している方であれば特に説明する必要も無いが、UNIX系OSにはhead、tailという「最初(最後)から数えて◯行分を出力する」というコマンドが存在する。 特にtailは、fオプションと組み合わせてログの監視を行う際に非常に重宝する。
これと同じことをPowerShellで行う場合は、以下のようにする。
headコマンドに相当する操作をPowerShell2.0で行う場合は、以下のようにする。
(出力させるコマンド)[0..出力させたい行数-1]
実際に実行した際の例が以下。頭から数えて5行出力させている。
PS C...
SSHごしに、マルチ画面でtailやコマンドの実行を行えるツール『multitail』というものがあると知ったので試してみることにした。
マルチ画面でtailをかけられるということは、監視などでいくつもTeratermのウィンドウを開かなくてもいいということか…ちょっと便利そう。
まずはインストールから。
以下のコマンドを実行しインストールを行う。
sudo apt-get install multitail
yum install multitail
※RHEL系の場合、RPMforgeを有効...