2 つの区切り記号の間の行の切り捨て

2 つの区切り記号の間の行の切り捨て

入力ファイル:

sip:[email protected]:5060;user=phone
sip:+17738959697;[email protected]:5060;user=phone
sip:[email protected];user=phone

またはを使用してgrep次の出力をどのように取得できますかsed

    +16309608112

    +17738959697;npdi

    7739469234

答え1

awkを使用してください:

awk -F'[:@]' '{print $2}' file
+16309608112
+17738959697;npdi
7739469234

答え2

これにより、目的のタスクが実行されます。

$ cat /tmp/your/input | sed -e 's/.*:\(\S\+\)@.*/\1/g'
+16309608112

+17738959697;npdi

7739469234

答え3

cut以下も使用できます。

cut -d: -f2 file | cut -f1 -d@
# output
+16309608112
+17738959697;npdi
7739469234

真ん中に空行が本当に必要ですか?

関連情報