IPv4アドレススクリプトを簡単に置き換えようとします。
sed "s/[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}/192.100.100.100/g"
これが私が持っているものです。タイトルのまま終了していない 's' コマンドを受け取りました。
編集:私はWindows上で動作しており、SSHを介してUnixシステムに接続しています。
もともと持っていたもの:
sed 's/[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}/192.100.100.100/g'
しかし、何かが期待どおりに読み取られず、エラーが発生する可能性があるため、一重引用符から二重引用符に変更しました。テストしてみましたが、結果はまだ「コマンドが終了していません」です。
どんなアイデアや提案でも良いです!
フルスクリプト
#!/bin/sed -f
#sed 's/[^@ ]*@[^@]*\.[^@ ]*\.[^@]*/[email protected]/g'
#sed 's/[^@]*\.[^@]*\.[^@]*/example.com/g'
sed "s/[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}/192.100.100.100/g"
ファイル入力の例:
From: Mail System Internal Data <[email protected]>
Subject: DON'T DELETE THIS MESSAGE -- FOLDER INTERNAL DATA
X-IMAP: 1322061792 0000000000
Status: RO
Email message goes here.
From [email protected] Tue Nov 22 15:24:01 2011 -0500
Status: R
X-Status:
X-Keywords:
Return-Path: <[email protected]>
X-Original-To: [email protected]
Delivered-To: [email protected]
ベストアンサー1
あなたのスクリプトはsed
シェルスクリプトではなくスクリプトです。したがって、sed
行の先頭に入れたり、コマンドの周りに引用符を入れる必要はありません。次に変更してください。
#!/bin/sed -f
s/[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}/192.100.100.100/g