745878 ランダム
 HOME | DIARY | PROFILE 【フォローする】 【ログイン】

【毎日開催】
15記事にいいね!で1ポイント
10秒滞在
いいね! --/--
おめでとうございます!
ミッションを達成しました。
※「ポイントを獲得する」ボタンを押すと広告が表示されます。
x
X

PR

Free Space

Debian GNU/Linux、Windows etc に関して、
雑文を掲載しています。 
個人的な備忘録ですので、皆様にあてはまるかどうかは、
全くわかりません。
参考にされる場合も、結果については、自己責任
ということで、よろしくお願いいたします。










Keyword Search

▼キーワード検索

Calendar

Archives

2025.06
2025.05
2025.04
2025.03
2025.02
2025.01
2024.12
2024.11
2024.10
2024.09

Category

Recent Posts

Rakuten Card

2018.03.19
XML
カテゴリ:スクリプト
​​​​​​なんだかんだで、すっかり間があいてしまいましたが、シリーズもので課題も書いていたので、一応着地しておかないと、と思いまして、もう、忘れられているかもしれませんが。
で、
課題だったんですが、
1.改行が入ると、間伸びしてしまって不自然
2.文字コードがutf-8じゃないと文字化けで読み化けしてしまう

で、次のようなスクリプトになりました。
longtalk.sh

#!/bin/bash
# usage ~/sh/longtalk.sh textfilename
filename=$1
nkf -w ${filename} | awk -f ~/sh/kutenkaigyo.awk | while read line
do
  echo ${line}
  echo ${line} | ~/sh/jtalk1.sh
done

nkfというコマンドは文字コードを変換してくれるコマンドらしいです。
$ which nkf
と確認してやると、入っていたので、使いました。
nkf -w filename
で、utf-8に変換して出力されます。utf-8の場合は、そのまま出力。

kutenkaigyo.awk

BEGIN { FS="\n"
RS="。"
ORS = "。\n"
}
{
gsub("\n", "")
          print
}

​AWK使うのは、私が他のスクリプト言語が全く不自由なので、使ってるだけです。ちょこっと使うには簡単便利で、シェルスクリプトとも相性良いと感じているので。​
フィールドセパレータに改行、レコードセパレータに句点"。"とかは、ちょっとトリッキーかも。
gsub関数で、改行を無改行に置換、出力レコードセパレータに"。改行"
これで、単なる改行は改行せず、句点で改行されます。

さあ、青空文庫から、小栗虫太郎の超難解長編探偵小説「黒死館殺人事件」を、いや無理だって、じゃ、久生十蘭の「魔都」で、いやいや、それも難しい漢字多すぎ、じゃ、夢野久作の名作「ドグラマグラ」でいやいやいや、なぜそんな奇書ばかり読ませる…。まあ、青空文庫は難しい漢字にはルビがふってあるので、ルビ付きは、漢字を消去するというようなスクリプトを、って、私の頭では、書けません。

​​​​​​​​





お気に入りの記事を「いいね!」で応援しよう

Last updated  2018.03.19 23:46:03



© Rakuten Group, Inc.
X