40 件 見つかりました。
$ echo foobar | perl -MDigest::MD5 -nle 'print Digest::MD5::md5($_)' | od -t x1 0000000 38 58 f6 22 30 ac 3c 91 5f 30 0c 66 43 12 c6 3f 0000020 0a 0000021
$ echo foobar | perl -MDigest::MD5 -nle 'print unpack("L",Digest::MD5::md5($_))' 586569784
$ echo foobar | perl -MDigest::MD5 -nle 'print unpack("L",Digest::MD5::md5($_)) % 5' 4
N = 3 408313 0 408764 1 408370 2 N = 4 306157 0 307042 1 305954 2 306294 3 N = 5 244633 0 245089 1 245880 2 244960 3 244885 4 N = 6 204129 0 204480 1 203698 2 204184 3 204284 4 204672 5 N = 10 122542 0 122427 1 122685 2 122694 3 121956 4 122091 5 122662 6 123195 7 122266 8 122929 9
echo '走れ' | ./yapima2.pl {"id":1,"jsonrpc":"2.0","result":{"tokens":[["走れ","はしれ","走る","動詞","*","子音動詞ラ行","命令形"]]}}
echo '読み仮名だけ抜き出します' | ./yapima2.pl \ | jq -cr '[ .result.tokens[] | .[1] ] | join("")' よみがなだけぬきだします
echo '行番号と品詞です\n晩御飯が美味しい' | ./yapima2.pl \ | jq -cr '[ .id, [ .result.tokens[] | .[3] ] ] | flatten | @csv' 1,"名詞","名詞","助詞","名詞","判定詞" 2,"名詞","名詞","助詞","形容詞"
echo '文章から名詞だけ抽出して要約っぽく見せかけます' | ./yapima2.pl \ | jq -cr '[ .result.tokens[] | select(.[3] | contains("名詞")) | .[0] ] | join("")' 文章名詞抽出要約
月 | ㋀ | %E3%8B%80 (12992) | ㋋ | %E3%8B%8B (13003) |
日 | ㏠ | %E3%8F%A0 (13280) | ㏾ | %E3%8F%BE (13310) |
日 | 月 | 火 | 水 | 木 | 金 | 土 |
---|---|---|---|---|---|---|
㏠ | ||||||
㏡ | ㏢ | ㏣ | ㏤ | ㏥ | ㏦ | ㏧ |
㏨ | ㏩ | ㏪ | ㏫ | ㏬ | ㏭ | ㏮ |
㏯ | ㏰ | ㏱ | ㏲ | ㏳ | ㏴ | ㏵ |
㏶ | ㏷ | ㏸ | ㏹ | ㏺ | ㏻ | ㏼ |
㏽ | ㏾ |
pack("U", 12991 + $month) pack("U", 13279 + $day_of_month)
#!/usr/bin/env perl # -*- coding: utf-8 -*- use strict; use warnings; use utf8; binmode STDOUT, ":utf8"; print join(",", "㋀", ord("㋀"), "㏠", ord("㏠"))."\n"; print join(",", map {"$_:".pack("U", 12991 + $_)} (1..12))."\n"; print join(",", map {"$_:".pack("U", 13279 + $_)} (1..31))."\n";
㋀,12992,㏠,13280 1:㋀,2:㋁,3:㋂,4:㋃,5:㋄,6:㋅,7:㋆,8:㋇,9:㋈,10:㋉,11:㋊,12:㋋ 1:㏠,2:㏡,3:㏢,4:㏣,5:㏤,6:㏥,7:㏦,8:㏧,9:㏨,10:㏩,11:㏪,12:㏫,13:㏬,14:㏭,15:㏮,16:㏯,17:㏰,18:㏱,19:㏲,20:㏳,21:㏴,22:㏵,23:㏶,24:㏷,25:㏸,26:㏹,27:㏺,28:㏻,29:㏼,30:㏽,31:㏾
perl -C -Mutf8 -le '$month=3;$day=11;$dow=5;print pack("U*",12991+$month,13279+$day,12842+($dow-1)%7)' ㋂㏪㈮
1〜20 | ① | %E2%91%A0 (9312) | ⑳ | %E2%91%B3 (9331) |
21〜35 | ㉑ | %E3%89%91 (12881) | ㉟ | %E3%89%9F (12895) |
36〜50 | ㊱ | %E3%8A%B1 (12977) | ㊿ | %E3%8A%BF (12991) |
1から50までなら:pack("U", 9311 + $_)
pack("U", $_ + ($_ < 21 ? 9311 : $_ < 36 ? 12860 : 12941))
0,2,0,こんにちは,50,0,0,0,0,0 1,1,1,さようなら,0,0,0,0,0,0
理想: 1,1,0,"ああ,いい,ううう。",21,0,0,0,0,0 0,2,0,"あれれれ,",50,0,0,0,0,0 現実: 1,1,0,ああ,いい,ううう。,21,0,0,0,0,0 0,2,0,あれれれ,,50,0,0,0,0,0
1,1,0,ああ,いい,ううう。,21,0,0,0,0,0 ↓ カンマで分割してリストにする 1 1 0 ああ いい ううう。 21 0 0 0 0 0 ↓ 前と後ろのカラムを取る [1 1 0] ああ いい ううう。 [21 0 0 0 0 0] ↓ ああ いい ううう。 ↓ 残りをカンマで繋ぎ直し、ダブルクォートで囲む "ああ,いい,ううう。" ↓ さっき取った、前と後ろのカラムと合わせて最終的な CSV にする 1,1,0,"ああ,いい,ううう。",21,0,0,0,0,0
my $IX = 4; # 4番目のカラムがカンマ入りテキスト my $N = 10; # 全部で10カラム while (<>) { chomp; # 末尾の改行削除 my @F = split(",", $_, -1); # 読み込んだ CSV 行をカンマで切ってリストへ my @pre = @F[0..($IX-2)]; # 前から IX-1 個分のカラム my @post = @F[$#F-($N-$IX-1)..$#F]; # 後ろから N-IX 個分のカラム my $text = join(",", @F[($IX-1)..($#F-($N-$IX))]); # カンマ入りテキスト print join(",", @pre, "\"$text\"", @post)."\n"; # CSV に戻す }
my $IX = 4; # 4番目のカラムがカンマ入りテキスト my $N = 4; # 全部で10カラム while (<>) { chomp; # 末尾の改行削除 my @F = split(",", $_, -1); # 読み込んだ CSV 行をカンマで切ってリストへ my @ts = join(",", splice(@F, $IX-1, (@F-$N) + 1)); # テキスト部分の抜き出し splice(@F, $IX-1, 0, qq(").join(",", @ts).qq(")); # ""をつけて戻す print join(",", @F)."\n"; # CSV に戻す }
ID = 4 N = 10 with open('sample.csv') as f: for line in f.read().splitlines(): pre = line.split(",", ID - 1) post = pre[-1].rsplit(",", N - ID) l = pre[:-1] l.append('"' + post[0] + '"') l.extend(post[1:]) print(",".join(l))
1,1,0,ああ,いい,ううう。,21,0,0,0,0,0 ↓ 最初の split で前から4分割(3箇所で切断) 1 / 1 / 0 / ああ,いい,ううう。,21,0,0,0,0,0 ↓ 一番右の塊を次の rsplit で後ろから7分割(6箇所で切断)。 ああ,いい,ううう。 / 21 / 0 / 0 / 0 / 0 / 0 ↓ 1 / 1 / 0 / ああ,いい,ううう。 / 21 / 0 / 0 / 0 / 0 / 0 ↓ 1,1,0,"ああ,いい,ううう。",21,0,0,0,0,0