重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【終了しました】教えて!gooアプリ版

ザウルス(SLC1000)のターミナル(qpe-embeddedkonsole-ja Ver 1.6.0)で、
SED(sed-ja/GNU sed Ver. 3.02)のスクリプトファイルが使えず困っています。

----- in.txt -----
12345
abcde
------------------
+++++ s.sed +++++
1q
+++++++++++++++++

上記ファイル内容で、ターミナル上で
bash-2.05$ sed -e "1q" in.txt

は問題なく出力されますが、
bash-2.05$ sed -f s.sed in.txt

では、
sed: file s.sed line 1: Extra characters after command

と出ます。スクリプトファイルでも["]記号が必要かも知れないと思い
s.sed を下記のように変えると
+++++ s.sed +++++
"1q"
+++++++++++++++++
sed: file s.sed line 1: Unknown command: ”" ”

と出ます。
初歩的な何か抜けているのだと思いますが抜け出せずに居ます。
宜しくお願いいたします。
以上

A 回答 (1件)

ザウルスを使った事は無いのですが、一般的なUNIXのsedコマンドにおいて、s.sedファイルの内容が本当に"1q"だけのキャラクターで完結していればそのようなエラーは出ないはずです。



sed: file s.sed line 1: Extra characters after command
「s.sedの1行目:コマンドの後ろに余計な文字があります」

とエラーを吐き出している以上、"1q"の後に見えないキャラクターが追加されていると考えられます。

例えば、sed -eコマンドでも"1q"の後に全角スペースを追加すると同様のエラーが出ます。
    • good
    • 1
この回答へのお礼

ann_dvさん、早速の回答ありがとうございました。

>s.sedファイルの内容が本当に"1q"だけのキャラクターで完結していればそのようなエラーは出ないはずです。

これがヒントになりました。文字コードや改行コードの問題か?。
スクリプトファイル作成には、ザウルス上の「Tree!Text QT」というエディターで作りましたが、同じくザウルス上の「ZEditor」という別のエディターでファイルを作ったところ、エラー無く動作しました。
ちなみに、ザウルス標準の「メモ」エディターで作ってもエラーになったので、ザウルス固有の問題だと思います。
詳細はともかく、スクリプトファイルが使えるようになりましたので解決です。ありがとうございました。

お礼日時:2008/06/20 15:20

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!