2010年10月30日

串刺しナンバリング:改訂したけど、ウミスズメの黒焼きではありません

連番を任意の数字から始められるようにしてみました。ついでにスクリプト名や変数名を整理しました。(if...else構文も正しくしました:30日21時) ^_^


#  kszs.awk
#
#  使い方:
#  awk  -f  kszs.awk  >  num.txt

BEGIN {

#  連番開始・終了番号と面付数の入力を求める
    printf "開始番号=" > "/dev/stderr"
      getline sn_start < "/dev/stdin"
    printf "終了番号=" > "/dev/stderr"
      getline sn_end   < "/dev/stdin"
    printf "面付数="   > "/dev/stderr"
      getline n_men   < "/dev/stdin"

#  連番の個数を計算する
    n_sn = sn_end - sn_start + 1

#  総シート数(ページ数)を計算する # 以下6行訂正しました
    n = int ( n_sn / n_men )
    if ( n_sn % n_men == 0 ) {
        n_sheet = n
    } else {
        n_sheet = n + 1
    }
##    n_sheet = int ( 0.5 + n_sn / n_men )  # これは間違いでした

#  i は作業中のシート番号
    for ( i = 0; i < n_sheet; i++ ) {

#      j はシート内の面番号
        for ( j = 0; j < n_men; j++ ) {

#          シート番号と連番開始番号との和が
#          そのシート内最初の連番になる
#          また、総シート数の値が連番の増分となる 
            serialnum = i + sn_start + j * n_sheet

#          連番を標準出力に改行付きで書き出す
#          最大数を超えている場合は改行だけを書き出す
            if ( serialnum <= sn_end ) {
                print serialnum
            } else {
                print ""
            }
        }
    }
}


経緯については、前の記事をご参照ください。
    http://lamium.blogspot.com/2010/10/blog-post_30.html

それより、やもさんの新しい記事の方が、串刺しやこの間の経緯がよくわかります。
    Kushizashiはワールドワイドに

串刺しナンバリング:焼き鳥の一品ではござらぬ

串刺し印刷用の連番を生成するawkスクリプトを、私も遅ればせながら作ってみました。

串刺し印刷そのものをよく知らないので、なんか見当違いをしているような気もします。BEGINだけというのもawkスクリプトとしては変則的でしょうね。ご批評くだされ。

★ 総ページ数の計算と、if...else構文を正しくしました(30日21時)


# kusizasinum.awk
#
# 使い方:
#  awk  -f  kusizasinum.awk  >  num.txt


BEGIN {

#       連番最大数と面付数の入力を求める
        printf "最大数="        > "/dev/stderr"
                getline maxnum  < "/dev/stdin"

        printf "面付数="        > "/dev/stderr"
                getline mennum  < "/dev/stdin"

#       総シート数(ページ数)を計算する # 以下6行訂正しました
            n = int ( maxnum / mennum )
            if ( maxnum % mennum == 0 ) {
                    sheetnum = n
            } else {
                    sheetnum = n + 1
            }

#          sheetnum = int ( 0.5 + maxnum / mennum )  # これは間違いでした

#       i は作業中のシート番号
        for ( i = 1; i <= sheetnum; i++ ) {

#               j はシート内の面番号
                for ( j = 0; j < mennum; j++ ) {

#                       シート番号がそのシート内最初の連番になり
#                       総シート数の値が連番の増分となる 
                        serialnum = i + j * sheetnum

#                       連番を標準出力に改行付きで書き出す
#                       最大数を超えている場合は改行だけを書き出す
                        if ( serialnum <= maxnum ) {
                                print serialnum
                        } else {
                                print ""
                        }
                }
        }
}


連番を任意の番号から始められるようにした改訂版はこちら


なお、この経緯についてはスクリプトの達人のみなさんによる次のページを参照してください。

串刺し会長やまさん:These are the days of my life
  お話してきました。
  串刺し印刷について。

あさうすさん:実験ルーム
  串刺し面付けってなぁに?

やもさん:やもめも
  あえてScriptを使わずに串刺しナンバリングしてみる(小ネタ)
  Kushizashiはワールドワイドに

たけうちとおるさん:たけうちとおるのスクリプトノート
  僕もScriptを使わずに串刺しナンバリング
  僕もScriptを使って串刺しナンバリング

市川せうぞーさん:名もないテクノ手
  あえてScriptを使って串刺しナンバリングしてみる(小ネタ)

chalcedonyさん
  くしざし試作

2010年10月9日

フランス詩のリズム(書きかけ)

Arthur Rimbaud(アルチュール・ランボー)の「Le dormeur du val」という詩を河津聖恵さんが10月5日付blog『詩空間』で紹介ています。140年前の今月、プロシア・フランスの激戦に遭遇した16歳のランボー。死者の寒さに気づいたランボーの優しさと正義感に河津さんは感動したといいます(http://reliance.blog.eonet.jp/default/2010/10/post-9233.html)。


フランス語ではどんな響きがするのだろうかと、Wikipediaを起点に探してみると、『Litterature audio.com』に朗読がありました(http://www.litteratureaudio.com/livre-audio-gratuit-mp3/rimbaud-arthur-le-dormeur-du-val-version-2.html)。原文も見つけました(http://poesie.webnet.fr/lesgrandsclassiques/poemes/arthur_rimbaud/le_dormeur_du_val.html)。



私はフランス語はほとんどわからないのですが、ところどころにある英語やラテン語と似通った言葉を手がかりに読み・聴いています。「D'argent」(銀の)や「Dort」(眠っている)、「il a froid」(彼は寒い)、「Tranquille」(静かな)という語の前または後ろにおく休止が、その言葉を際立たせている、そんな朗読です。

原文の行かえと朗読での区切りが一致しないように思うのです。


さらに、フランスのSaphoという歌手が歌っているというので、探してみると、彼女の公式サイトで試聴ができました。http://www.fxproject.net/sapho/audio.html ;ここの49番めにあります。ロックだと思うのですが、こちらは行かえどおりの区切りで歌っています。


フランス詩では、いったい、行かえはどんな位置づけになっているのでしょうか。


Le dormeur du val
C'est un trou de verdure où chante une rivière,
Accrochant follement aux herbes des haillons
D'argent ; où le soleil, de la montagne fière,
Luit : c'est un petit val qui mousse de rayons.


Un soldat jeune, bouche ouverte, tête nue,
Et la nuque baignant dans le frais cresson bleu,
Dort ; il est étendu dans l'herbe, sous la nue,
Pâle dans son lit vert où la lumière pleut.


Les pieds dans les glaïeuls, il dort. Souriant comme
Sourirait un enfant malade, il fait un somme :
Nature, berce-le chaudement : il a froid.


Les parfums ne font pas frissonner sa narine ;
Il dort dans le soleil, la main sur sa poitrine,
Tranquille. Il a deux trous rouges au côté droit.

こちらでは中原中也による訳詞を引いておきましょう。『青空文庫』に収録されているものです(http://www.aozora.gr.jp/cards/001296/card47296.html)。



谷間の睡眠者
これは緑の窪、其処に小川は
銀のつづれを小草をぐさにひつかけ、
其処に陽は、(ほこ)りかな山の上から
顔を出す、泡立つ光の小さな谷間。


若い兵卒、口をき、頭はき出し
頸は露けき草に埋まり、
眠つてる、草ン中に倒れてゐるんだそらもと
蒼ざめて。陽光ひかりはそそぐ緑の寝床に。


両足を、水仙菖(すゐせんあやめ)に突つ込んで、眠つてる、微笑むで、
病児の如く微笑んで、夢に入つてる。
自然よ、彼をあつためろ、彼は寒い!


いかな香気も彼の鼻腔にひびきなく、
陽光ひかりの中にて彼眠る、片手を静かな胸に置き、
見れば二つの血のあなが、右脇腹にいてゐる。