- 締切済み
- 困ってます
IPアドレスの置換について
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- 回答No.2
- Ultra-Hetare
- ベストアンサー率38% (203/523)
こんなのでいかがでしょうか? $ echo "192.168.51.22" | sed -E 's/([0-9]{1,2})([0-9]\.)([0-9]{1,2})([0-9]\.)([0-9]{1,2})([0-9]\.)([0-9]{1,2})([0-9])$/\11.\31.\51.\71/' 191.161.51.21 -E を使わないと()を\(\)と書かないといけないので、 ※しかも「.」を\.と書かないといけないのは共通。 誤記・誤読が増えて頭がおかしくなりそうな問題でした。
- 回答No.1
- asciiz
- ベストアンサー率70% (6312/8910)
4オクテット目だけではなく各オクテットの末尾、ですか? なんか意味のある操作には思えないんですが次のものではどうでしょう。 テストしてないので動かなかったらすみません。 ・末尾を1に置換する例 sed -e 's/\d\b/1/g' IPアドレス以外の数字記載は無いという前提ですが。
関連するQ&A
- ファイルの内の文字列の置換について
質問なんですが、sedコマンドを使用して文字の置換をやってみたんですが、同じファイルに置換した情報を上書きすることは可能でしょうか? 今試した例としては sed -e 's/aaa/bbb/g' test > test と試してみたんですがファイルの内容がなくなってしまっていました。 同じファイルに置換内容を入れることは可能なのでしょうか? 他の方法がある場合は教えてください。 よろしくお願いします。
- ベストアンサー
- Solaris系OS
- 文字列置換
UNIXのコマンドで文字列の置換を試みています。 今回行いたい置換としては。。。 12年 1986年2月12日 14 などの文字列を NUM年 NUM年NUM月NUM日 NUM などに、連続した数字をひとまとめにNUMに置換したいと考えています。 文字列の置換方法としてsedコマンドがあると聞いてしらべてみたのですが、いまいいち理解することができませんでした。 自分で考えて試してみたコマンドが以下の通りです。 sed -e "s/\([1-9]\{1,2,3,4\}\)/NUM/g" filename が・・・まったく置換はされませんでした。 よろしければお教えください。よろしくお願いいたします。
- 締切済み
- Linux系OS
- Unix-sedコマンドによる置換について
sedでコマンド次の文字列をスペースに置換したいのですが うまくいきません。BF-DR1 =(0)A[7]OPN-ENDはスペースや大カッコが含まれています。 与えたコマンドは、 sed -e "s/ BF-DR1 =(0)A[7]OPN-END//g" <bf1Open.log>rrr.txt ですが、出力ファイルはまったく置換されていませんでした。 お分かりになる方どなたかご教授ください。
- ベストアンサー
- その他(OS)
- sedコマンドを使用して、文字の置換を行いのですが助けてください。
sedコマンドを使用して、文字の置換を行いのですが助けてください。 sedコマンドやawkコマンドなどを使って、aliasesファイルの置換を行いたいのですが、 うまくいかないので教えていただけないでしょうか? 知りたいのは、次のような置換を一括で行うことのできるコマンドです。 ■置換前のファイル ================= AAAA: :include:/file/name BBBB: :include:/file/name CCCC: :include:/file/name ================= ■置換後のファイル(希望する置換結果) ※1フィールド目の任意の文字列をメールアドレスのローカルパートとして利用したい ================= AAAA: AAAA@example.com BBBB: BBBB@example.com CCCC: CCCC@example.com ================= 以上です。
- 締切済み
- Linux系OS
- IPアドレスについて?
IPアドレスについて? 自身のPCはXP. それで、コマンド プロンプトで IPアドレスを見ました。 「なるほど・・これが私のものか」と思っていた矢先、 あるサイトを訪れれば自動で自分の IPアドレスを検出してくれて、どこに住んでいるのか 地図を出してくれる便利なサイトがあったので 試しにしてみましたが、 自身のコマンド プロンプトで表示される IPアドレスと違うアドレスが表示され、 これがまた、似たようなIPアドレスを自動検出してくれるサイトへいっても 皆、サイトでは同じ数字のアドレスが表示されるばかりで 全くコマンド プロンプトで表示されるIPアドレスの数字と違います。 さてはて? これはどういう事なのでしょうか? ちなみに、コレ↓が自身のIPアドレスを表示してくれるそうですが・・? http://www.ip-adress.com/ ぜんぜん違いました。
- ベストアンサー
- Windows XP
- sedでカンマ区切りの列の置換を行いたい
以下の様なファイルがあります。 sedコマンドを使用して、カンマで区切られたn番目のカラム目を 置換したい場合どうすればよいでしょうか。 "1","2","3","4","5","6" "1234","12","34567","abcd","efg","hi" "a c","d f","12 34","0","AAA","" "g i","j l","45 67","0","BBB","2021" "m o","p r","3 2 1","1","ABC","" "123","456","","abc","efg","hij" ①1カラム目以外置換(1カラム目以降削除) sed 's/\(.*\),.*,.*,.*,.*,.*/\1/g' test.csv ②最後の6カラム目以外置換(6カラム目以外削除) sed 's/.*,.*,.*,.*,.*,\(.*\)/\1/g' test.csv ③3カラム目を置換(3カラム目を「""」だけにしたい) sed -e 's/\(.*\),\(.*\),.*,\(.*\),\(.*\),\(.*\)/\1,\2,"",\3,\4,\5/g' test.csv とできたのですが、 表現がないというか、置換対象文字列の条件、表現が長いというか、全カラムを指定しているので、 少し、短くできないものでしょうか。 ①パターン sed 's/\([^,]*\),.*/\1/g' test.csv ②パターン sed "s/.*,\([^,]*\)$/\1/g" test.csv の様にできました。 ③パターン 思いう浮かばず これで、できているので間違いはないかとおもいますが、 どうなのでしょうか。 なにかいい案はないでしょうか?
- ベストアンサー
- Solaris系OS
- sedでの置換がうまくできません。
sedを使用して以下の様な文字列を置換したいと考えています。 iPar(\"w\") → 何かの文字列 そこで以下のようなsedスクリプトを作成しました。 s/iPar\(\"w\"\)/test/g → a.sed 使用してみました。具体的には↓のコマンド >sed -f a.sed inputデータ >outputデータ しかし結果ファイルをみても何も変わってくれません。 なにが悪いのでしょうか? どなたかご指南下さい。
- ベストアンサー
- Linux系OS
- ネットワーク内のプリンタ等のIPアドレスを調べる方法
こんにちは。 既存のネットワークにコンピュータを一台追加したのですが、そのネットワークの中にあるプリンタのIPアドレスが分かりません。 IPアドレスが分かっていれば、コマンドプロンプトのPINGコマンドでパケットが届くか確認できますが、IPアドレスが不明なプリンタや複合機のIPアドレスはどうやって調べればいいんでしょうか? 一旦初期化して出荷時のIPアドレスに戻した後再設定という方法は取らずに、コマンドプロンプトで調べられる方法があれば教えてください。 よろしくお願いします。
- ベストアンサー
- その他(インターネット・Webサービス)
- IPアドレスの固定化について
ルーターを使用して常時接続しております。 使用環境としては下記の通りです。 →パソコンA ルーター → ハブ→パソコンB →パソコンC というふうにつなげております。 このABCのパソコンですが、ルーターの電源が落ちる度にIPアドレス末尾の数字(例えば、192.168.0.3などの末尾の”3”の部分)が他の数字に変わってしまいます。 この数字を固定化する方法はないものでしょうか? どなたかご存じの方がいらっしゃいましたら教えてください。
- ベストアンサー
- Windows XP
- sambaで連携したファイルをLinuxからsedでの置換
お世話になります。 sedを使って文字列の置換をしたいと考えています。 sambaでwindowsから連携したファイルに対して置換を行いたいのですが、うまく置換ができません。 Linux側の「GNOME端末」からファイルの中身をのぞくと、全角の箇所が文字化けしてしまっていました。どうやら原因はこれだと思うのですが、どうすれば文字化けしていてもうまく置換できるでしょうか? あるいはLinux側から見ても文字が化けないようにするにはどうすればよいでしょうか? 例) test[Tab]2008年5月05日[Tab]あああ[Tab]aaaaa という文字列に対し、 sed -e 's/^.*\t.\(.*\)\t.*\t.*$/3\1/' test.txt というコマンドを実行したが、うまく置換されない。 ※test.txtは、文字列が格納されているファイル。 よろしくお願いいたします。
- ベストアンサー
- Linux系OS