• ベストアンサー

trコマンドについて

文字列削除について悩んでおります。 ~aaa.logファイル~ Switch(config)#enable secret aaa ~~~~~~~~~~ から「aaa」のみ残そうと、 tr -d 'Switch(config)#enable secret ' < aaa.log >bbb.log を実行し、bbb.logファイル参照したところ、 「Swh」 という意味不明な文字列だけが残りました。 どこに原因があるのでしょうか?教えてください。 よろしくお願いします。

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

  • ベストアンサー
  • amru05
  • ベストアンサー率63% (33/52)
回答No.3

文字列削除ならばsedを使用して以下の様に出来ます。 sed -e "Switch(config)\#enable secret //" < aaa.log >bbb.log sedは、エディターコマンドを実行しますので、文字列の変更、置換、削除。。。など、色々できますので、trよりも、質問者のやりたい事に適しているのでは有りませんか?

it2007
質問者

お礼

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

すると、全ての回答が全文表示されます。

その他の回答 (2)

  • don_go
  • ベストアンサー率31% (336/1059)
回答No.2

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

it2007
質問者

お礼

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

すると、全ての回答が全文表示されます。
  • don_go
  • ベストアンサー率31% (336/1059)
回答No.1

>tr -d 'Switch(config)#enable secret ' < aaa.log >bbb.log 上記だと、aaa.log ファイルの中から、'S', 'w', 'i' ... の「文字」(文字列ではなく..)を除いて bbb.log に出力 するので、本来なら何も残らないはずです。 それが、'Swh'が残ったという事は、テキストまたはコマンド のいずれかが漢字になっていたのではないかと思います。 #もしくはタイプミス

it2007
質問者

補足

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

すると、全ての回答が全文表示されます。

関連するQ&A