こんにちは、正規サブ式について質問があります。
grep -o ".*='.*'" parameters.txt
parameters.txt
含む:
name='something'
lastname=' 123123'
something=' somethinggg'
=
私の正規表現はすべてを返しますが、なしで名前と値だけを返したいと思います' '
。また、スペースやタブの影響を受けないことを願っています。
name something
lastname 123123
somethign somethinggg
答え1
あなたの場合は、以下を使用することをお勧めしますsed
。
sed -r "/^[^=]*$/d;t;s/=/ /;s/'//g;s/[\t ]+/ /g" parameters.txt
このコマンド
- どんな行もスキップしてくださいいいえ
=
フラグが含まれています - 変える最初
=
空白の転送 '
一重引用符を変更しないでください。- 複数のタブとスペースを1つのスペースに置き換える
答え2
sed -e 's/['\''=]/ /g;s/ */ /g'
答え3
$ tr '=' ' ' < parameters.txt | sed "s,',,g" | sed -E "s,\s+, ,g"
name something
lastname 123123
something somethinggg
答え4
パールの使用:
perl -pe "tr/=' \t/ /d" parameters.txt