パターンマッチの後にすべての文字を抽出する必要があります。
例えば 、
NAME=John
Age=16
「=」の後のすべての文字を抽出する必要があります。出力は次のようになります
John
16
いくつかの制限があるため、この目的のために perl や Jython を使用することはできません。私は grep を試しましたが、私の知る限り、以下に示すようになりました
echo "NAME=John" |grep -o -P '=.{0,}'
パターンマッチの後にすべての文字を抽出する必要があります。
例えば 、
NAME=John
Age=16
「=」の後のすべての文字を抽出する必要があります。出力は次のようになります
John
16
いくつかの制限があるため、この目的のために perl や Jython を使用することはできません。私は grep を試しましたが、私の知る限り、以下に示すようになりました
echo "NAME=John" |grep -o -P '=.{0,}'
あなたはかなり近かった:
grep -oP '(?<=\w=)\w+' file
それを作ります。
その後の単語を探してword=
出力します。
-o
は、「一致する行の一致した (空でない) 部分のみを出力し、そのような各部分を別々の出力行に出力する」の略です。-P
は「PATTERN を Perl 正規表現として解釈する」の略です。(?<=\w=)\w+
意味:\w+
次の のみに一致しますword=
。詳細については、[Regex チュートリアル - 先読み][1] および [sudo_O によるこの素晴らしい説明][2] を参照してください。$ cat file
NAME=John
Age=16
$ grep -oP '(?<=\w=)\w+' file
John
16