3
に文字クラス内のブラケットを使用する:私は、文字列を持っている正規表現
['A', 'B']
私はすべての,
、[
を削除し、]
文字にする必要があります。最終的な結果は以下
'A' 'B'
私が試したすべてのリストがあるべきである、との結果が
コマンドは、私はそれらのどれも働いていない、
[email protected]:~$ echo "['A', 'B']" | sed -r 's/[\[\],]//g'
['A', 'B']
[email protected]:~$ echo "['A', 'B']" | sed -r 's/[[],]//g' # unescaped
['A', 'B']
[email protected]:~$ echo "['A', 'B']" | sed -r 's/[\[\]]//g' # removed ","
['A', 'B']
[email protected]:~$ echo "['A', 'B']" | sed -r 's/[,]//g' #removed "[" and "]"
['A' 'B']
[email protected]:~$ echo "['A', 'B']" | sed -r 's/[[,]//g' # removed "]"
'A' 'B']
明らかてみました。ただし、これらのコマンドは次のようになりました。
[email protected]:~$ echo "['A', 'B']" | sed -r 's/[],[]//g'
'A' 'B'
[email protected]:~$ echo "['A', 'B']" | sed -r 's/[][,]//g'
'A' 'B'
上記および下記のコマンドの違い:
[
、]
がエスケープされません- 注文は
なぜオーダー状物質([前])違うのですか?それはリスト内の任意の 単一の文字ないと一致するようにinfo sed
から
チェック '男のsed'または'情報sed'(GNUがSED)...それは元のために...言及される可能性があります適しています:参照https://www.gnu.org/software/sed/manual/sed.html#Character-Classes-and-Bracket-Expressions .. '']'文字をリスト項目にするには、まずそれを置く必要があります.' – Sundeep
エスケープされていない ']'は、BREや拡張正規表現の文字クラスの最初に置く必要があります。 – anubhava
'sed'をスキップして、代わりに' tr'を使います。 –