重要なお知らせ

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

【GOLF me!】初月無料お試し

文字列削除について悩んでおります。

~aaa.logファイル~
Switch(config)#enable secret aaa
~~~~~~~~~~
から「aaa」のみ残そうと、
tr -d 'Switch(config)#enable secret ' < aaa.log >bbb.log
を実行し、bbb.logファイル参照したところ、
「Swh」
という意味不明な文字列だけが残りました。

どこに原因があるのでしょうか?教えてください。
よろしくお願いします。

A 回答 (3件)

文字列削除ならばsedを使用して以下の様に出来ます。



sed -e "Switch(config)\#enable secret //" < aaa.log >bbb.log

sedは、エディターコマンドを実行しますので、文字列の変更、置換、削除。。。など、色々できますので、trよりも、質問者のやりたい事に適しているのでは有りませんか?
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。教えて頂きました通りsedにて実施し、当問題を解決することができました。
どうもありがとうございました。

お礼日時:2006/05/27 13:10

>trコマンドは文字列を削除・置換用ですので



trコマンドは「文字列」ではなく「文字」の置換・削除用です。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。sedにて実施し、当問題を解決することができました。
どうもありがとうございました。

お礼日時:2006/05/27 13:10

>tr -d 'Switch(config)#enable secret ' < aaa.log >bbb.log



上記だと、aaa.log ファイルの中から、'S', 'w', 'i' ...
の「文字」(文字列ではなく..)を除いて bbb.log に出力
するので、本来なら何も残らないはずです。

それが、'Swh'が残ったという事は、テキストまたはコマンド
のいずれかが漢字になっていたのではないかと思います。
#もしくはタイプミス

この回答への補足

trコマンドは文字列を削除・置換用ですので、センテンス単位では対応不可かな?とも思っておりますがいかがでしょう?

補足日時:2006/05/25 22:46
    • good
    • 0

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