14
巨大な(70GB)、1行のテキストファイルの文字列を置き換えます
巨大な(70GB)1行のテキストファイルがあり、その中の文字列(トークン)を置き換えたいと思います。token <unk>を別のダミートークンに置き換えたい(グローブの問題)。 私が試したsed: sed 's/<unk>/<raw_unk>/g' < corpus.txt > corpus.txt.new しかし、出力ファイルにcorpus.txt.newはゼロバイトがあります! 私もperlを使ってみました: perl -pe 's/<unk>/<raw_unk>/g' < corpus.txt > corpus.txt.new しかし、メモリ不足エラーが発生しました。 小さいファイルの場合、上記の両方のコマンドが機能します。 そのようなファイルである文字列を置き換えるにはどうすればよいですか? これは関連した質問ですが、答えはどれもうまくいきませんでした。 編集:ファイルを10GBのチャンク(または何でも)に分割し、それぞれに適用sedしてからマージするのはcatどうですか?それは理にかなっていますか?よりエレガントなソリューションはありますか?