awk
find -name "*ss.csv" | xargs -Iv awk -F"," 'BEGIN{str=0}{str=str+$2}END{print FILENAME,str}' v > tmp2
awkで一列目を削除 echo "aa,bb,cc,dd" | awk -F"," 'BEGIN{OFS=","}{$1="\b";print $0}' ポイント \b(バックスペースで余計な","を消す) OFSで出力を","に参考: 逆引きシェルスクリプト/特定のカラムを削除し表示する・awkコマンド - Linuxと過ごす http:/…
シェルスクリプトで連番ファイルから抜けているものをさがす 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 '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であるネットワークを作る。 BEGIN{ end123=10000; for(i=0;i
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でページランクの計算。 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に併合(マージ)。 とても無理やり。 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…
行列 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"…
Rで求めきれない大きいネットワークの ページランクでawkで求める。 awkaでコンパイルするとさらに速くなるはず。
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で連立方程式をヤコビ法で解く。 $ 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。 前の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 '{a[$1]=a[$1]+1}END{for(i in a){print i,a[i];}}' netkane.csv 同じようなことは、 sort notkane.csv | uniq -c でもできる。
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
getlineを使う。
カンマ区切りのファイルから直接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 \\\\ \…