• ベストアンサー

出力のリダイレクトコマンド「>」で 日本語をリダイレクトする方法?

Redhat Linux 9の環境で、「ls」、「less」のコマンドで日本語ファイル名をうまく表示しましたが、「>」で日本語をリダイレクトすることはなかなかできなかった。 下記のコマンドを試したら、、バイナリファイルになったらしいです。 echo "日本語" > test.log 誰かご教授いただければ、大変助かります。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • notnot
  • ベストアンサー率47% (4848/10262)
回答No.3

状況の確認ですが、 echo "日本語" でちゃんと表示されるのに、 echo "日本語" > test.log cat test.log で正しく表示されないということでしょうか? lessについて書かれてますが、cat で上手く行って less で上手く行かなということなら、lessが日本語対応で無いか、LESSCHARSETの設定がおかしいかですね。

その他の回答 (2)

  • marimo_cx
  • ベストアンサー率25% (873/3452)
回答No.2

文字化けだったら文字コードの問題じゃないんですか? リダイレクトの質問じゃないです。

  • marimo_cx
  • ベストアンサー率25% (873/3452)
回答No.1

質問の意味が全くわかりません。 たとえば cat /bin/ls > test ってやったってリダイレクトされますが。 日本語をリダイレクト出来ないって echo "日本語" > test.log ってやってもtest.logが生成されないという意味なんですが?そうなんですか?

wzp_cn
質問者

補足

有難う、ございます。 $ls $FolderName -->画面上、日本語をうまく表示されました。 下記のコマンドで、日本語の文字列をリダイレクトすると、いずれも 文字化けのtest.logを生成しました。バイナリファイルらしいです。 $ls >> test.log $rsync -avz $Folder1 $Folder2 >> test.log $echo "日本語" >> test.log よろしくお願いします。

関連するQ&A

  • Windows 98系OSでのコマンドラインのリダイレクトについて

    Windows 98又はMeのコマンドラインのリダイレクトについて教えてください。 ◎やりたい事 Windows 98又はMeのコマンドラインの実行結果を正常・異常問わずにログ出力する。 ◎ためした事 ・「echo テスト > log.txt 2>&1」を実行 ⇒Windows 98又はMeで同じ事を実行すると'&1'というファイルができてその中身を見ると正常時のログしか出力されていません。また、log.txtは出力されていません。 ・「echo テスト > log.txt」を実行 ⇒実行結果が正常の場合は出力されるのですが異常の場合はコマンド画面に出力されてlog.txtに出力されません。 いろいろ検索したのですが解決に至っておりません。 よろしくお願いします。

  • Unix:ls-lRのリダイレクト

    kshで、ls-lRのコマンドを使い表示したディレクトリの内容を、新規のディレクトリ内のファイルに下記のようにリダイレクトさせようとしましたが、ファイル作成できませんでした。 ls-lR >>$HOME/test/apple cat | ls-lR >> $HOME/test/apple どうすれば、ls-lRの内容をファイルに表示できますか?

  • コマンド結果のリダイレクト

    UNIXコマンドで「sar」がありますが、 その中のオプション「-o」を使用しないで ファイルにリダイレクトをしたいです。 なお、その際にバックグランドで実行しています。 sarコマンドは長時間動かし途中でリダイレクト結果をviewなどで見たいのですがどうしたらよいでしょうか? ex) sar 5 10000 > log.txt & これだと、sarコマンドが終了しないとlog.txtに出力されません。いつでもviewなどで最新のlog.txtを見たいです

  • bashでの複数行のコマンドのリダイレクト

    Linux上のbashを使用して、複数行のコマンドの結果を一度にリダイレクトしたいと思います。 思いついた方法が、 #!/bin/bash cat << EOF >> ./test.log cat /etc/fstab cat /etc/inittab cat /etc/modprobe.conf EOF といった方法なのですが、これですとそれぞれのコマンドの結果ではなく、 単に cat /etc/fstab cat /etc/inittab cat /etc/modprobe.conf と言った出力結果がtest.logに出力されてしまいます。 上記のような複数のコマンドの結果を一度にリダイレクトする方法は無いでしょうか? cat /etc/fstab >> ./test.log cat /etc/inittab >> ./test.log cat /etc/modprobe.conf >> ./test.log と言った方法は避けたいと思います(実際には何10行と言うコマンド結果を出力したいので)

  • atコマンドでリダイレクト

    お世話になります。 コマンドプロンプトのatコマンドを使い、時間指定をしてpingを打ち、その結果をファイルに書き込ませたいのです。 バッチファイルを使用してならでき、目的は果たせるのですが、コマンドラインのみでできないのでモヤモヤしてます。 例えば at 23:00 ping www.hoge.co.jp ^> test.txt とすると、23:00になってもtest.txtファイルがどこにも見当たりません。 リダイレクトのエスケープをやめると、ファイルはできるのですが、23:00になる前、コマンドラインを打ち込んですぐにファイルができてしまい、かつ「新しいジョブをジョブ ID = 1 で追加しました。」となり、atコマンド自体の結果がtest.txtに書き込まれてしまいます。 コマンドプロンプトについては、ほぼ初心者です。 atコマンドを使う必然性はないのですが、気になります。 宜しければ教えて下さい。 お願いします!

  • bash forコマンドでソート

    bash forコマンドでソート CentOS8 bashの forコマンドで、ディレクトリ内のファイル名を部分指定した降順でソートした状態で順次読み込みしたいです。 <ファイル> aaa.dat bbbb_0001.dat TEST_0001.file TEST_0002.file TEST_0003.file <アウトプット> TEST_0003.file TEST_0002.file TEST_0001.file 基本的な読込と、lsコマンドの結果を基に読み込む方法はわかりましたが、これに降順ソートを加えるにはどうすれば良いでしょうか? <基本的な読込> for file in /dir1/TEST_*.file do echo $file done <lsコマンドの結果を基に読込> for file in $(ls /dir1/TEST_*.file) do echo $file done

  • Cygwinのlsコマンドについて

    Cygwinの場合、以下のオプションでlsコマンドを実行すると $ ls --full-time -rwxr-xr-x 1 aaaa なし 139 2006-08-23 15:01:34.203125000 +0900 ls.sh と表示されます。 Linux(redhat)上で同様のコマンドを実行すると、 $ ls --full-time -rwxr-x--- 6 root root 4096 Wed Aug 09 16:59:03 2005 ls.sh と表示されます。 タイムスタンプの表示形式が異なっていますが、 Cygwin上で、Linuxのような表記をしたいのですが、 可能でしょうか。ご教授お願い致します。

  • コマンド状態で、日本語メッセージの表示

    RedHat Linux 7.0Jは順調にインストールしましたが、 コマンド状態で、提示メッセージは日本語で表示できますか? 例えば、man XXXを入力すると、対応ヘルプ情報は全然認識できません。 xWindowを立ち上げると、漢字端末(Kterm)を使えば、正常に 日本語メッセージを表示できました。 宜しくお願いします.

  • Diskpart のリダイレクトの質問です

    コマンド プロンプト画面で Diskpart モード時の画面出力をリダイレクトしてテキスト ファイルに残したいのですが、上手く行きません。次のコマンドで Log.txt ファイルに画面出力がリダイレクトされるはずなのですが、記録が全く残りません。   Diskpart /s Script.txt > Log.txt 何度トライしても成功せず困っています。支援をお願いします。なお、テストのために使用した Script.txt ファイルは、次のようになっています。   List Disk   List Volume   Exit

  • Kシェルのリダイレクト

    Kシェルのリダイレクト シェル初心者で申し訳ございませんが、ご教授いただけたら幸いです。 やりたいこと  xxx.kshの実行ログを出力したい。 出力したいログは、以下コマンド実行時に標準出力されるログをファイルへ落としたい。 尚、実際の実行コマンドは、ksh -xは入力しません。 $ ksh -x ./xxx.ksh 上記コマンドを実行すると、詳細なログが表示されるのですが、ファイルへ落としたいと思います。 分かりづらいかも知れませんが、宜しくお願い致します。