Quantcast
Channel: HP-UX –俺的備忘録 〜なんかいろいろ〜
Browsing latest articles
Browse All 99 View Live

awkで2行目以降の行のみ処理を行う

awkで2行目以降の行のみで処理を行わせる場合、NR(awkで何行目かを認識する変数)を用いて、以下のようにすればよい。 awk 'NR>1{処理内容}' blacknon@BS-PUB-UBUNTU-01:~$ cat /tmp/test.csv id,user,value 1,aaa,1223 2,bbb,3333 3,ccc,855 4,ddd,998 5,eee,24354...

View Article


awkで7桁以上の数字を科学表記法(指数表記)で表示させないようにする

awkでは、桁数が多い数字(小数点以下を含め、7桁以上)の出力を行うと、デフォルトだと科学表記法(10のべき乗。指数表記とも)で表示されてしまう。 [root@BS-PUB-CENT7-01 ~]# echo "123456789.87654321 94" |awk '{print $1/$2}' 1.31337e+06...

View Article


awkで指定した列から後ろ全部を出力させる

awkで、指定した列から後ろの列すべてを出力させる場合、forで繰り返し処理をさせるのが楽だ。 awk '{c="";for(i=指定する列;i<=NF;i++) c=c $i" "; print c}' blacknon@BS-PUB-UBUNTU-01:~$ head /tmp/test7.txt aaaaa 123 test 1 2 bbbbb 123 test 2 2 ccccc...

View Article

awkで最後のフィールドのみ出力させる

awkで、最後の行の最後のフィールドのみを出力させる場合は、以下のようにすればよい。 awk 'END{print $NF}' blacknon@BS-PUB-UBUNTU-01:~$ cat /tmp/test7.txt aaaaa 123 test 1 2 bbbbb 123 test 2 2 ccccc 123 test 3 2 ddddd 123 test 4 2 eeeee 123...

View Article

awkでの四則演算や割り算の余り、べき乗を求める方法

awkで四則演算や割り算の余りを求める場合。 これは非常に簡単で、以下のようにすればよいだけだ。 awk '{print x + y}' # 加算 awk '{print x - y}' # 減算 awk '{print x * y}' # 乗算 awk '{print x / y}' # 除算 awk '{print x % y}' # 剰余(割り算の余り) awk '{print x ^ y}'...

View Article


Image may be NSFW.
Clik here to view.

awkで最後の列からn個前の列を抽出する

awkで最後の列からn個前の列を抽出する場合は、以下のようにすればよい。 awk '{print $(NF-n)}' [root@BS-PUB-CENT7-01 ~]# cat /tmp/test.txt aaa="1" bbb="2" ccc="3" ddd="4" aaa="11" bbb="21" ccc="31" ddd="41" aaa="12" bbb="22" ccc="32"...

View Article

awkで組み込み関数のgensubを使って指定した列や変数の値だけを置換する

awkで置換するといえば組み込み関数のsub関数やgsub関数だが、これらはawk内で代入した変数の置換をするような使い方ができない($0で受けた内容すべてに対しての置換はできる)。 定義した変数や特定の列に対してのみ置換をする場合は、gensub関数を利用するとよいだろう。 gensub("置換前","置換後",置換位置(NUM)[,置換対象文字列(列や変数名など)])...

View Article

Image may be NSFW.
Clik here to view.

grepで正規表現を用いてIPアドレス・MACアドレスを抽出する

ネットワーク回りのログや調査をしていると、IPアドレスやMACアドレスだけをgrepで抽出したいことがある。 その場合は、それぞれ以下のようにgrepを実行するとよい。 IPアドレス grep -E '([1-2]?[0-9]{0,2}\.){3,3}[1-2]?[0-9]{0,2}' [ssh-user@BS-PUB-CENT7-01 .ssh]$ echo...

View Article


Image may be NSFW.
Clik here to view.

公開鍵に特定のコマンド(sshとかscp)を指定してssh接続時にそのコマンドしか実行できないようにする

sshの踏み台サーバの構築で、ユーザにログイン先の公開鍵が見れないようにしたい。 ということは、踏み台サーバへのssh接続時にcatとかその辺がつかえないようにして、sshコマンドだけを利用可能にすればいいのだけど、そんなやり方あるのかなぁ…と思って調べてみたところ、サーバ側の鍵ファイルに使えるコマンドを設定してやることで実現できそうだ。今回は、sshの踏み台サーバとしてCentOS 7を利用する。...

View Article


Image may be NSFW.
Clik here to view.

cpコマンドで一つのファイルを複数のディレクトリにコピーする

cpコマンドでは、「複数のファイルを1つのディレクトリに」コピーすることは簡単にできるのだが、「1つのファイルを複数のディレクトリに」コピーする場合はちょっと工夫が必要になる。 といっても基本的な方法で、xargsコマンドを使って複数ディレクトリを指定してcpコマンドを実行してやるだけだ。 xargs -n 1 cp -v file <<< "dir1 dir2 dir3" #...

View Article
Browsing latest articles
Browse All 99 View Live