2
MACアドレスをsedと解析しようとしていますが、説明できないことに直面しました。sedとMACアドレスの解析
はここで2例がある - 良いと間違っている: - それは適切に文字列に解析返し
# echo "tadam" | sed -r 's/^([^:]{2}):([^:]{2}):([^:]{2}):([^:]{2}):([^:]{2}):([^:]{2})$/\1_\2_\3_\4_\5_\6/'
tadam
最初の例が正常に動作している:
良い1:
# echo "01:23:45:67:89:ab" | sed -r 's/^([^:]{2}):([^:]{2}):([^:]{2}):([^:]{2}):([^:]{2}):([^:]{2})$/\1_\2_\3_\4_\5_\6/'
01_23_45_67_89_ab
間違ったもの。しかし、どのように2番目のものを説明する?この文字列がte regexpと一致しないうちにsedが文字列(tadam)を返すのはなぜですか?
誰でも説明できますか?正規表現が文字列に一致しないときにsedが何も返さない状況を達成したいと思います。どうやってするの?