I am Charmie

メモとログ

日英併記の文章の扱い

状況

  • 日本語・英語を併記した文章を作成
  • 必要に応じて片方の言語の文章だけを抽出したい

解決策

  • 日英フラグを行頭に追加 (日本語・英語の対応関係を取る)
  • sedでどちらかの言語だけを抽出

サンプルファイル(sample.txt)は以下の通り

en: This is a sample file.
jp: これはサンプルファイル.

en: Original file contains English and Japanese sentences together like this.
jp: 大本のテキストファイルでは,こんな感じで日本語と英語を併記する.

en: When you want the lines of either language, use sed command to extract the corresponding lines.
jp: どちらかの言語のみのファイルを抽出したいときはsedコマンドを使って該当行飲みを抽出したファイルを作成する.

英語の文章を抽出してsample-en.txtというファイル名で保存

以下のようにsedコマンドを使う.コマンドの意味は

  1. sed -n -e '/^en:/p' sample.txt: sample.txtから en:を含む行を抽出
  2. sed -e 's/^en: //': 抽出した文字列からen:という文字列を削除
  3. > sample-en.txt: sample-en.txtという名前で保存
sed -n -e '/^en:/p' sample.txt | sed -e 's/^en: //' > sample-en.txt

sample-en.txtの中身

This is a sample file.
Original file contains English and Japanese sentences together like this.
When you want the lines of either language, use sed command to extract the corresponding lines.

日本語の文章を抽出してsample-jp.txtというファイル名で保存

以下のようにsedコマンドを使う.コマンドの意味は

  1. sed -n -e '/^jp:/p' sample.txt: sample.txtから jp:を含む行を抽出
  2. sed -e 's/^jp: //': 抽出した文字列からjp:という文字列を削除
  3. > sample-jp.txt: sample-jp.txtという名前で保存
sed -n -e '/^jp:/p' sample.txt | sed -e 's/^jp: //' > sample-jp.txt

sample-jp.txtの中身

これはサンプルファイル.
大本のテキストファイルでは,こんな感じで日本語と英語を併記する.
どちらかの言語のみのファイルを抽出したいときはsedコマンドを使って該当行飲みを抽出したファイルを作成する.

別の方法

改行が残らないなーと思って,残したくない言語の文章を削除するというコマンドも作ってみた.

sed -e '/en:/d' sample.txt | sed -e 's/^jp: //' > sample-jp.txt

できあがったファイルはこんな感じで,改行が残る. どちらの言語でも残したい文章がある場合は,こっちの方法の方がいいかな.

これはサンプルファイル.

大本のテキストファイルでは,こんな感じで日本語と英語を併記する.

どちらかの言語のみのファイルを抽出したいときはsedコマンドを使って該当行飲みを抽出したファイルを作成する.