2015-07-20から1日間の記事一覧

awkの使い方 列の文字を増やす

[root@asenbra tmp]# awk 'NR>=4' data.txt16 17 18 19 2021 22 23 24 2526 27 28 29 30[root@asenbra tmp]# awk 'NR>=4{print $1,$1,$1}' data.txt16 16 1621 21 2126 26 26[root@asenbra tmp]# この場合、4行目以降を表示して、さらにその1フィールド目の…

awkの使い方(NR編)

では早速 [root@asenbra tmp]# echo {a,b,c,d,e} | xargs -n 1abcde [root@asenbra tmp]# echo {a,b,c,d,e} | xargs -n 1 | awk 'NR>2'cde NRはレコードです。レコード番号が2より上のものを表示します。

awkの使い方(NF編)

では早速実践してみましょう。 [root@asenbra tmp]# cat data.txt1 2 3 4 56 7 8 9 1011 12 13 14 1516 17 18 19 2021 22 23 24 2526 27 28 29 30 [root@asenbra tmp]# awk '{print $(NF-2)}' data.txt3813182328[root@asenbra tmp]# awk '{print $(NF-1)}' …

awkの使い方

awkの使い方その① [root@asenbra tmp]# cat data.txt1 2 3 4 56 7 8 9 1011 12 13 14 1516 17 18 19 2021 22 23 24 2526 27 28 29 30[root@asenbra tmp]# awk '{print $4}' data.txt4914192429 ちょっとawk知ってますっていう書き方。 C言語みたいにセミコロ…

seqとxargsのコラボレーション

うーん、いつ使用できるのかはわからないけど 一応覚えておく意味で記載します。 [root@asenbra C]# seq 1 10 | xargs -n 51 2 3 4 56 7 8 9 10 [root@asenbra C]# seq 1 30 | xargs -n 51 2 3 4 56 7 8 9 1011 12 13 14 1516 17 18 19 2021 22 23 24 2526 2…

bcコマンド

bcコマンドはLinux上で使用できる電卓です。 exprもありますがこれは整数計算しか使用できません。 少数計算を実行したい場合はbcコマンドを使用することをお勧めします。 bcコマンドを実行すると以下のメッセージが表示します、 This is free software with…

やってはいけないパターン

念のためダメパターンを 記載しておきます。 理由は不明で。 #include <stdio.h> void function (char **name, char **name2 ){ *name = "oioi"; *name2 = "abeba"; } int main(void){ char *m_name = "aikawa"; char *m_name2 = "yoshida"; function(&m_name,&m_name</stdio.h>…

第2弾詳細説明

たださっきの⑤の方法も関数内でprintfする場合は また異なる。 以下に記載します。 [root@asenbra C]# cat test43.c#include <stdio.h> void function (char **name, char **name2 ){ *name = "oioi"; *name2 = "abeba"; printf ("%s\n",*name); printf ("%s\n",*name</stdio.h>…

詳しく文字列側ポインタの宣言方法について

①まず文字列側ポインタを宣言する方法 char *m_name = "aikawa"; char *m_name2 = "yoshida"; ②関数に渡す場合 アドレスを相手側に渡します。 function(&m_name,&m_name2); ③関数の受け取り側 文字列側ポインタの受け取り方はポンタのポインタになります。 …

文字列ポインタの場合の関数

ポインタを使用しての関数へ変数を渡すので この場合は配列のコピーではないので文字列を操作できます。 #include <stdio.h> int function (char **name, char **name2 ){ *name = "oioi"; *name2 = "abeba"; } int main(void){ char *m_name = "aikawa"; char *m_nam</stdio.h>…

文字列配列を使用した場合の関数

main関数での宣言配列宣言 ⇒ 関数の受け取り方 配列を受けている この場合は、関数の受け渡し方法はコピーなので文字を上書きすることはできない。 よって下記の方法はコピーになります。 #include <stdio.h> int function (char name, char name2 ){ name = "oioi"; </stdio.h>…