複数ファイルのエンコード変更と一括印刷方法は?

お世話になります。
今回は、既に保存してある
 ・数が6000程ある
 ・文字コードが全部そろっていない(Shift-JISだったりUTF-16だったりいろいろ)
 ・一ファイルはおよそ10KB位のデータサイズ
のテキストファイル(*.txt)の処理について、
1)それらの文字コードを一括指定してそろえる方法(複数ファイルをまとめてそろえる)で、できればファイルの文字コードを一つ一つ確認する必要の無い方法
2)それらのファイルを一括指定して連続してプリントする方法(複数ファイルを、例えばテキストエディタのようなウインドウをそれぞれ開くことなく行う)
を知りたいのですが、どなたかご教示いただけませんでしょうか?
コマンドやスクリプトでなんとか出来るのではないかと思いましたが、その辺の知識に詳しくないのと、検索エンジンで調べてみているものの、Windows向けの情報が多くなかなか引っかかりません。
今一つ一つ処理していますが、最後までやるのに時間がかかりすぎてしまうため、教えていただけないものかと思い投稿いたしました。
お手数ですが、どなたかご回答いただけませんでしょうか。どうぞよろしくお願い申し上げます。
【利用環境】
利用中のMacは
OSがLeopard 10.5.5
本体は初代のMacBook Pro 15インチ 2.4GHz
メモリは4GB

投稿日 2008/10/16 15:05

返信: 15

2008/10/16 15:39 Community User への返信

>2)それらのファイルを一括指定して連続してプリントする方法(複数ファイルを、例えばテキストエディタのようなウインドウをそれぞれ開くことなく行う)
ウィンドウを開かずにということだと難しいかもしれませんが、この作業であればAutomatorを使えば何とかなりそうな気がします。
自分も使ってないのでヒントだけになりますが、Automatorでいろいろ調べてみてはどうでしょうか。

2008/10/18 12:19 Community User への返信

>1)それらの文字コードを一括指定してそろえる方法(複数ファイルをまとめてそろえる)
小生はApple Script を良く知りませんが、Apple Script の Script Editor (標準でアプリケーション/AppleScript に入っています)を立ち上げ、Jedit X (Apple Script 対応)の用語をみてみると、
convert encoding
というのがあります。これを使えば出来るのではないでしょうか?
ちなみに、Jedit X はテキストファイルの文字コードを自動判定してオープンしてくれます。

2008/10/18 21:20 Community User への返信

2)ならファインダ上で任意のファイルを選択しておいて、メニューのファイル>プリントでいけます。印刷結果はアプリケーションから書類ごとに印刷したのと同じになります。(書類の数だけキューが発生する)
ただし、テキストエディットが自動的に実行されウィンドウは開きます。これではだめでしょうか。
#MacOS 9まではコマンド+Pでいけましたが。
テキスト書類をつなげてかまわないのだったら、ターミナルでcatを使えばすぐです。
試しに今、やってみたのですが、catで作ったシフトJIS以外のファイルはファインダーから直接は印刷出来ないようです。(テキストエディットが開かないため)

2008/10/18 22:31 Community User への返信

UTF-16使えますよ。でも、文字コードの変換には落とし穴があるので、プリントアウトが目的ならやらない方がいいような気がします。一応コマンドのひな形を書いておきますが...
検索ディレクトリ以下にある*.txtの文字コードを自動認識し、UTF-8(改行コードLF)に一括変換
$ find 検索ディレクトリ -type f -name '*.txt' -print0 | xargs -0 nkf --overwrite -w -Lu
注意事項
・nkfをインストールしパスを通しておく
・ファイルを上書きするのでオリジナルのバックアップを
・バックアップは検索ディレクトリとは別のディレクトリに
・検索ディレクトリのパスは絶対に間違わないこと
・ファイル数が多いので失敗するようであれば何回かに分けて処理
・他のツールで更に変換が必要な場合もあり

2008/10/19 14:35 Community User への返信

早々のレスどうもありがとうございました。
この質問を投稿した後、自分でもAutomatorアクションライブラリの中を探してみていたのですが、その段階で質問2)についてはテキストファイルから複数ページからなる1つのPDFに変換→印刷するやり方を検索で見つけてきた情報から知って、ひとまずやってみました。
結果は、できたけど変換そのものに時間がかかるのと、ファイル数が多いため大量のファイルデータを一気に何とかしたい場合はちょっと難があるかなと思いました。…で、これは途中でギブアップでした。

2008/10/19 14:36 Community User への返信

毎度ありがとうございます。
テキスト編集に最近はmiをよく使っていて、まったく気がつかず。
Jedit Xのヘルプファイルを見たらAutomatorワークフローの作り方解説が載っていたのを見ながら作ってみて、それを利用。
改行タイプがLFのUTF-8エンコードへ変えるのにしてみたところ、うまくいきました。今後必要なときはそれを利用してみます。
質問1)は解決しました。ありがとうございました。

2008/10/19 14:38 Community User への返信

早々のレスどうもありがとうございました。
この質問を投稿した後、自分でもAutomatorアクションライブラリの中を探してみていたのですが、その段階で質問2)についてはテキストファイルから複数ページからなる1つのPDFに変換→印刷するやり方を検索で見つけてきた情報から知って、ひとまずやってみました。
結果は、できたけど変換そのものに時間がかかるのと、ファイル数が多いため大量のファイルデータを一気に何とかしたい場合はちょっと難があるかなと思いました。…で、これは途中でギブアップでした。

2008/10/19 14:39 Community User への返信

はに さん:
毎度ありがとうございます。
テキスト編集に最近はmiをよく使っていて、まったく気がつかず。
Jedit Xのヘルプファイルを見たらAutomatorワークフローの作り方解説が載っていたのを見ながら作ってみて、それを利用。
改行タイプがLFのUTF-8エンコードへ変えるのにしてみたところ、うまくいきました。今後必要なときはそれを利用してみます。
質問1)は解決しました。ありがとうございました。

2008/10/19 14:43 Community User への返信

Hiro.S さん:
ご返信ありがとうございました。
質問1)については、Jedit XがAutomatorワークフローをアプリケーション付属として配布しているので、まずそれを利用させてもらいました。
でもそれの中身が複雑でないのなら、コマンドでサッとやるのもいいですね。
あとあと自分で使えるように試してみます。

2008/10/19 14:43 Community User への返信

ウインドウが開いてほしくないと思ったのは、それぞれのウインドウ/タブ上に印刷前の設定パネルが出てくるとなると、一回一回プリントのボタンをクリックしてやらないといけないし、それは結構大変だと思っていたのです。それとたくさんのファイルを連続印刷したい時にそれのウインドウが全部開くとメモリがパンクしたりCPUがいっぱいいっぱいになって固まってしまうか、かなりのろい動作になるのが嫌だったからです。
でもこれは一度に連続させるファイル数を調節してやってみるより仕方ないかな…。
プリントボタンをクリックしないで済む点では、
>2)ならファインダ上で任意のファイルを選択しておいて、メニューのファイル>プリントでいけます。印刷結果はアプリケーションから書類ごとに印刷したのと同じになります。(書類の数だけキューが発生する)
というやり方が望ましいのですが、これはファイルをテキストエディットで開くように関連づけないとできないみたいです。(Jedit XでやってみたけどFinderのメニューからはできなかった)
Jedit Xのほうはもっと細かい印刷設定項目があるのですが、テキストディットでも指定可能な内容である場合には十分使えますし、便利ですね。
テキスト書類をつなげる方法については、1ファイルを用紙の片面1ページに印刷したいので、エディタでできそうだったらそれもやってみます。

このスレッドはシステム、またはAppleコミュニティチームによってロックされました。 問題解決の参考になる情報であれば、どの投稿にでも投票いただけます。またコミュニティで他の回答を検索することもできます。

複数ファイルのエンコード変更と一括印刷方法は?

Apple サポートコミュニティへようこそ
Apple ユーザ同士でお使いの製品について助け合うフォーラムです。Apple Account を使ってご参加ください。