状況
- 日本語・英語を併記した文章を作成
- 必要に応じて片方の言語の文章だけを抽出したい
解決策
- 日英フラグを行頭に追加 (日本語・英語の対応関係を取る)
- 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コマンドを使う.コマンドの意味は
sed -n -e '/^en:/p' sample.txt
: sample.txtからen:
を含む行を抽出sed -e 's/^en: //'
: 抽出した文字列からen:
という文字列を削除> 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コマンドを使う.コマンドの意味は
sed -n -e '/^jp:/p' sample.txt
: sample.txtからjp:
を含む行を抽出sed -e 's/^jp: //'
: 抽出した文字列からjp:
という文字列を削除> 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コマンドを使って該当行飲みを抽出したファイルを作成する.