-PR-
解決済み

sedなんですが…

  • 困ってます
  • 質問No.9726
  • 閲覧数149
  • ありがとう数1
  • 気になる数0
  • 回答数1
  • コメント数0

お礼率 20% (10/50)

perlのことでなくて済みません、が、sedのこととも共通している
のではないかと思い、質問させていただきます。

WindowsNT4.0で、アスキーのMS-DOS SoftwareToolsに入っていた
sedを今まで使っていましたが、長いファイル名が使えないので
sed32に切り替えようとしていますが、エスケープ文字を判断し
てくれないようで困っています。
以下に実行例を示します。

C:\TEMP\call>sed32 -V
GNU sed version 3.02 + multi-byte extension 1.07

Copyright (C) 1998 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE,
to the extent permitted by law.

C:\TEMP\call>sed32.exe -e"s/\t/TAB/g" e2.txt > e2.out

e2.txtの内容
-------------------------------------------
select
SWK_DENDATE "計上日付",
SWK_DENNO "伝票番号",
SWK_MCN_CODE "資産code",
'' "資産名",
nvl(SWK_GYOTEK,SWK_TEK) "摘要",
-------------------------------------------
e2.outの内容
-------------------------------------------
selecTAB
SWK_DENDATE "計上日付",
SWK_DENNO "伝票番号",
SWK_MCN_CODE "資産code",
'' "資産名",
nvl(SWK_GYOTEK,SWK_TEK) "摘要",
-------------------------------------------
タブを"TAB"に置換せずに、"select"の"t"が"TAB"に置換されています。

しばらくこの手のtoolを使っていなかったので、よく分からない
のですが、どこか使い方が間違っているのでしょうか?
それとも、GNU sedの仕様なのでしょうか?

SoftwareToolsでは問題ありませんでした。
通報する
  • 回答数1
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

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

  • 回答No.1
レベル10

ベストアンサー率 66% (103/155)

ご質問にあるsedは使っていませんが...。

sedの種類によって"\t"が使えるのもと使えないものがあるみたいですね。(オリジナルのsedでは使えなかったと思うので、使えるのもののほうが「拡張」されているといえると思います。)
この場合は、スクリプト中に本当のタブコードを入れるのが本来の方法だと思います。(\tを入れるところで本当にTabキーを押す。)

最後に参考までに、perlが入っていれば、
perl -pe "s/\t/TAB/" e2.txt
で同様のことができます。こちらの"\t"は問題なく使えるはずです。
お礼コメント
umatra

お礼率 20% (10/50)

ありがとうございます。
やはり仕様でしたか。

jperlを試してみました。
-pをつければ、手元にあるsed用のスクリプトがほぼそのまま使えそうです。

perlに乗り換えるいいきっかけになりました。
投稿日時 - 0000-00-00 00:00:00
関連するQ&A
-PR-
-PR-
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


新大学生・新社会人のパソコンの悩みを解決!

いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ