• ベストアンサー

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

  • 置換コマンド

    freeBSD5.3を使用している初心者です。 あるディレクトリ以下の全ファイルに対し、一度に内容の文字を置換したいのですがうまくいきません。 例えば /hoge/aaa.txt /hoge/bbb.txt /hoge/ccc.txt と、/hoge以下に3ファイルがあり、このファイルにAAAという文字列があるなら、AAAをBBBにしたいと思っています。 sed s/AAA/BBB/g /hoge/* とすると、置換後の中身が表示はされますが、それに置きかわったファイルは/hoge/以下に保存されていません。(もとのAAAのまま) できたら、/hoge 以下の置換されたファイルを/hoge2以下に同じ名前で保存させたいと思っています。 どなたか是非アドバイスお願いいたします。

  • sortコマンドについて

    ファイルaaaについて、 第1ソートキーを第1列目で数値順に 第2ソートキーを第2列目でアルファベット順に ソートした結果をbbbに出力したいと思います。 sort -n -k 1,1 -d -k 2,2 aaa > bbb としたところ、正しい結果が得られませんでした。 どのようにしたら良いのか教えて下さい。

  • マクロで重複データの削除

    過去ログを使っていろいろ試したのですが、うまくいかなかったので助言お願いします。 データ的には B列 C列 AAA 50 AAA 50 BBB 70 BBB 70 BBB 72 CCC 25 のようなデータあります。 これを「AAA」でC列のデータが同じやつはひとつにするということをやりたいのです。 B列 C列 AAA 50 BBB 70 BBB 72 CCC 25 のようになります。 B列第一優先にC列第二で並べ替えをして、過去ログ参照より、下のデータからループしてくというのを試したのですが、全部削除されてしまいます。 しかし、これでは並べ替えの場合によってはCの重複がおかしくなると思うので、B列参照したほうがいいのかな? 別シートに書き出しタイプでないやり方をしたいと思っています。お助けくださいよろしくお願いします。

  • DOSコマンド(COPYコマンド)について

    DOS上でのCOPYコマンドについて確認します。 EXCELのファイルで、毎回ファイル名が変わるため、COPYコマンドで固定のファイル名にしようと思い、バッチ起動で、COPY \AAA\*.XLS \AAA\BBB.XLSで実行すると、コピー元と違うファイルサイズのBBB.XLSが作成されます。 中身を参照すると、文字化けしたものが 1レコードだけ作成されています。どうしてなのでしょうか? ※コピー元の*.XLSは、毎回 1ファイルのみです。

  • 【sed】変数に設定したコマンドの実行について

    お世話になります。 一度変数に文字列として格納したsedコマンドの実行についての質問です。 以下、「実装1」のように、「あるファイルの最終行を除外して別のファイルに書き込む」という処理を行おうとしています。 ログ出力などの関係で、実行するコマンドを一度変数に格納する必要があるのですが 一度変数に格納して実行すると「実装2」のようにエラーが出てしまいます。 変数に格納したsedコマンドを実行するにはどのようにすればいいでしょうか? なお、シェルはbashです。 実行例ではターミナルから直接実行していますが、実際にはシェルスクリプトにして実行します。 以上、どなたかご教示頂けないでしょうか。 ■実装1 [root@localhost tmp]# cat /tmp/data aaa bbb ccc [root@localhost tmp]# sed -e '$d' /tmp/data >/tmp/data2 [root@localhost tmp]# cat /tmp/data2 aaa bbb [root@localhost tmp]# ■実装2 [root@localhost tmp]# CMD='sed -e $d /tmp/data >/tmp/data2' [root@localhost tmp]# echo $CMD sed -e $d /tmp/data >/tmp/data2 [root@localhost tmp]# $CMD aaa bbb sed: >/tmp/data2を読み込めません: そのようなファイルやディレクトリはありません [root@localhost tmp]#

  • エクセルVBAの文字列の部分一致について

    在庫管理のため、バーコードハンディターミナルで収集したCSV形式のログデータを、別のエクセルファイルに転記するマクロを組もうとしています。 ログファイルには、以下のようにバーコードのコード番号に対して在庫数が入力してあります。 AAA01,10 AAA02,15 BBB01,5 BBB02,7 AAA01とAAA02は同じ種類なので、在庫数は転記先のエクセルファイルの同じセル内に数値を加算します。 この時、同じ文字列(ここではAAAまたBBB)が含まれるコードの在庫数をコピーするマクロはどのようにしたらよいのでしょうか?

  • 「*???」という条件を検索したい

    エクセル2003です。 aaa? aaa??? aaa???? bbb??? bbb???? のうち、 aaa??? bbb??? だけ検索されるようにしたいのですが 検索条件が ----------------------------------- 検索する文字列:*~??? 検索対象:値 セル内容が完全に同一であるにチェック ----------------------------------- だと aaa??? aaa???? bbb??? bbb???? が検索されてしまいます。 ----------------------------------- 検索する文字列:*??? ----------------------------------- にすると、全部検索されます。 やりたいようにするにはどうすればいいでしょうか? よろしくお願い致します。

  • エクセルマクロ 特定の文字列を含む行を削除

    エクセルマクロ 特定の文字列を含む行を削除 エクセルのマクロについて教えてください。 下の中から列を限定せず、すべての行でAAA、CCCのいずれかがある場合、 その行ごと、すべて削除したいのです。 時に削除したい特定の文字列が数十種類になるため、 マクロ起動時に削除したい特定の文字を記述したファイルを読み込み、それから 削除できるようにしたいのです。場合によってはそのファイルを編集し、 削除したい文字列を変更したいのです。 ご教示いただだけないでしょうか A列 B列 C列 1 AAA BBB CCC 2 BBB CCC FFF 3 DDD BBB FFF 4 AAA CCC DDD 5 GGG RRR UUU 行中にAAA、BBBがある場合、削除したい ↓ A列 B列 C列 5 GGG RRR UUU マクロを実行し、上記の結果にしたい。

  • ファイルの先頭に文字を追加するには?

    ファイルの先頭に文字を追加するにはどうしたらよいでしょうか? ファイルの末尾に追加するなら echo 追加する文字列 >> ファイル名 でオッケーですが、 先頭に追加する方法が、単純そうなのに、調べても分かりませんでした。 例えば test.txt の中身が以下で、 aaa bbb # echo hello >> test.txt で aaa bbb hello となりますが、 hello aaa bbb とするには、どうしたらよいでしょうか。 単純なコマンドはあるでしょうか。

  • 正規表現の前後の^と.*$の意味

    インターネットの情報で、テキスト検索で使用する場合、 ^(?=.*aaa)(?=.*bbb)(?=.*ccc).*$とすると 「同一行の中に全ての文字列が含まれている場合」ヒットすると 書かれていたのですが、前後の^と.*$がない場合とどのような違いがあるのでしょうか。 (1) ^(?=.*aaa)(?=.*bbb)(?=.*ccc).*$ (2) (?=.*aaa)(?=.*bbb)(?=.*ccc) powershell でログの文字列検索するスクリプトを作成していて (1)だと正規表現がうまく働いていないのか"match"で検索がヒットしせず、(2)だと検索ヒットするため前後の^と.*$がないものとの違いが気になりました。

電源プラグを抜く方法
このQ&Aのポイント
  • 回転スイングプラグで抜けなくなった電源プラグを抜く方法を教えてください。
  • エレコム株式会社の製品である回転式抜き差しプラグで使用した電源プラグが抜けなくなってしまいました。どのようにすれば抜けるでしょうか?
  • 電源プラグを回転スイングプラグで挿入したら、抜けなくなってしまいました。どうやって取り外せばいいですか?
回答を見る