awk

2列目の和を連続して出力する

awk

find -name "*ss.csv" | xargs -Iv awk -F"," 'BEGIN{str=0}{str=str+$2}END{print FILENAME,str}' v > tmp2

awkで一列目を削除

awkで一列目を削除 echo "aa,bb,cc,dd" | awk -F"," 'BEGIN{OFS=","}{$1="\b";print $0}' ポイント \b(バックスペースで余計な","を消す) OFSで出力を","に参考: 逆引きシェルスクリプト/特定のカラムを削除し表示する・awkコマンド - Linuxと過ごす http:/…

シェルスクリプトで連番ファイルから抜けているものをさがす

awk

シェルスクリプトで連番ファイルから抜けているものをさがす 1.csv 2.csv … ls | grep -v name |grep csv | sort -gr | sed "s/.csv//g" | awk '{print $1,$1-tmp;tmp=$1}' | awk '$2!=-1{for(i=1;i<-$2;i++){print $1+i}}'

awkでランダムサンプル

awk

awkでランダムサンプル awk 'BEGIN{b[0]=2;b[1]=3;b[2]=4;srand();for(i=0;i エッセンス: awk 'BEGIN{b[0]=2;b[1]=3;b[2]=4;srand();print b[int(length(b)*rand())]}' もっとエッセンス: int(length(b)*rand())

awkであるネットワークを作る。

awkであるネットワークを作る。 BEGIN{ end123=10000; for(i=0;i

awkでデータ名を背番号に置換(ID番号に置換)する。

awk

awkでデータ項目を背番号に置換(ID番号に置換)する。 想定されるデータ networkB.txt 234 334 234 532 12 234 9082 334 5 6 を 次のルールでID付けをし、 [名前 ID] testnodehenkan.txt 5 0 6 1 12 2 234 3 334 4 532 5 9082 6 下のような形に置換する。 …

awkでページランク

awkでページランクの計算。 1 3 2 5 3 6 4 7 というリストデータに対して、 $ cat gai3.awk { m[$2"a"$1]=1; } END{ c=0.85 for(i in m){ split(i,n,"a") Sum[n[2]]=1+Sum[n[2]]; } for( i in m){ split(i,n,"a") h[i]=-c*(m[i]/Sum[n[2]]); #print n[1],n[2…

 awkで複数のファイルを一列目をkeyに併合(マージ)。

awkで複数のファイルを一列目をkeyに併合(マージ)。 とても無理やり。 file1.txt 1 3 2 3 3 4 5 6 file2.txt 1 A 2 B 5 D file3.txt 1 a 2 b 3 c から、ファイルを併合し marge.csv 1,3,A,a 2,3,B,b 3,4,,c 5,6,D, を作成。awk -f heigou.awk file1.txt fi…

awkの2次元配列

awk

行列 1 2 1 3 2 100 (1)2次元配列に代入。 方法1:まずは手で直接書いて配列に代入。 $ awk 'BEGIN{a["1a2"]=1;a["1a3"]=1;a["2a100"]=1;for(i in a){split(i,k,"a");pr int k[1],k[2],a[i]}}' 1 2 1 1 3 1 2 100 1 方法2:ファイルから $ awk '{a[$1"…

 awkでページランク

Rで求めきれない大きいネットワークの ページランクでawkで求める。 awkaでコンパイルするとさらに速くなるはず。

awka :awkをC言語に翻訳して早く実行

awkをC言語に翻訳して早く実行 コンパイルとインストール $wget http://awka.sourceforge.net/awka-0.7.5.tar.gz $gzip -d awka-0.7.5.tar.gz $tar -xvf awka-0.7.5.tar $cd awka-0.7.5 $./configure $make $make test 使い方 まずこれを作る awk2c.sh #!/bi…

awkでヤコビ法

awk

awkで連立方程式をヤコビ法で解く。 $ cat gai.awk BEGIN{ a["1a1"]=5;a["1a2"]=2;a["2a1"]=3;a["2a2"]=6; b[1]=5;b[2]=5; y[1]=1;y[2]=1; for(k=1;k<=35;k++){ for(i in a){ split(i,out,"a"); if(out[1] !=out[2]){ l[out[1]]=l[out[1]]+a[i]*y[out[2] }el…

ダブルコーテーションの中のカンマを取り除く2。

ダブルコーテーションの中のカンマを取り除く。その2。 前のsedのものだと,一つしか 消せないというご指摘 を受けたので、改定。 awkを使いすっきりさせた。 $ cat tmp 1,2,3,"abc,efg",5 1,2,3,"abc,efg",5 1,2,3,"abc,efg",5 1,2,3,"abc,efg",5 1,2,3,"ab…

 一列目と二列目の値が同じ行をひとつにまとめる。 

一列目と二列目の値が同じ行をまとめるスクリプト。例えば、次のようなファイルInputFile.csv 1,2,a,b,c,d 3,2,e,f,g,j 1,2,a,b,c,d 2,1,b,a,d,c 5,2,d,f,c,s を一行目と二行目の値が共通するもの をひとまとめにしたものに整理。 (一行目と三行目と四行目…

カタカナをアルファベットに変換

次のルールでカタカナをアルファベットに変換 カタカナの「ニ」と漢字の「二」の 違いに注意。katakana.kana ア,_a イ,_i ウ,_u エ,_e オ,_o カ,ka キ,ki ク,ku ケ,ke コ,ko サ,sa シ,si ス,su セ,se ソ,so タ,ta チ,ti ツ,tu テ,te ト,to ナ,na ニ,ni ヌ,nu…

一列目が共通する要素の数を数えるawkスクリプト

一列目の共通する要素数を数える awk。 awk '{a[$1]=a[$1]+1}END{for(i in a){print i,a[i];}}' netkane.csv 同じようなことは、 sort notkane.csv | uniq -c でもできる。

awkでヒストグラム暫定版

awkでヒストグラム暫定版。 まだこれではうまくいきません。awk '{i=int(log($2)/0.2); a[i]=a[i]+1;}END{for(i in a){print 0.1*i,a[i]}}' hi .txt > tmp

awkで複数のファイルを扱う。

awk

getlineを使う。

awkでtexの表組みを出力

カンマ区切りのファイルから直接awkでtexの表を作成する。 例えば 1,3,5 5,6,8 9,12,9 というファイルの2列目と3列目 を使って表を作る場合、 awk -F, 'BEGIN{print "\\begin{table}\n \\begin{tabular}{|c|c|c|}\n \\hline\n Rank & Name & Indegree \\\\ \…