&& (AND) 演算子の両側に 1 つのスペースを追加する sed コマンドを作成しようとしています。これは私がこれまでに持っているものです:
sed -E 's+(\&\&)|(\s*\&\&\s*)+ & +g test.c
&& の周りにスペースがないという最初の条件が機能するため、
if(numberIn==0&&char=='g')
になる
if(numberIn==0 && char=='g')
しかし、1 つ以上のスペースの 2 番目の条件は機能しません。したがって、この
if(numberIn==0 && char=='g')
変わりません。
のパターンは\s*OPERATOR\s*
他の二項演算子で機能したため、and 演算子で機能しない理由がわかりません。and 演算子で sed を使用することについて何か不足していますか? 最初の条件で、「 && 」に置き換えると実際には「 && && 」になることに気付きました。そのため、代替パターンは「 & 」です。(これは、OR または EQUALS 演算子には当てはまりません)。
ヒントをいただければ幸いです。