次の行を含むファイルがあります。
handleNewConnection:: User [email protected] has 2 active nodes
handleNewConnection:: User [email protected] has 2 active nodes
handleNewConnection:: User [email protected] has 2 active nodes
handleNewConnection:: User [email protected] has 2 active nodes
システムは「@」(選択した文字)を見つけて、「@」記号から逆方向に文字列を抽出する必要があります。ご存知のように、数字やアルファベット文字を含めることができ、長さは一定ではありません。
そして grep -o '[^"]@' /tmp/has2.txt
私は得る:
m@
2@
1@
g@
1)このようにして2番目のテキストファイルを取得できるかどうかを知っている人はいますか?
langfordm
bas102
bah001
mattleg
2)1)で生成された名前を他のプロセスの入力として単独で使用できるかどうかを知っている人はいますか?
ベストアンサー1
grep
PCRE() と一緒に使用-P
:
$ grep -Po '.*\s\K[^@]+(?=@)' file.txt
langfordm
bas102
bah001
mattleg
またはGNUを使用してくださいsed
:
$ sed -r 's/.*\s([^@]+)@.*/\1/' file.txt
langfordm
bas102
bah001
mattleg
明らかに、次のプロセスが入力を受け取る方法に応じて、他のプロセスで結果を使用できます。これにより、配列を作成したり、結果を次のプロセスのSTDINに直接渡すことができます。