数行のテキストを含むドキュメントがあります。
例 (実際のものではありません):
*type='test'、user_id='099'、number='+66719919 のテーブルから 42 Locked delete を準備します*
ドキュメント内の任意の場所で user_id を検索して (パターンに従っていない)、次のように出力できるようにしたいと考えています。
user_id=009
また
009
awkを使用してこれを達成するにはどうすればよいですか?
ありがとう。
数行のテキストを含むドキュメントがあります。
例 (実際のものではありません):
*type='test'、user_id='099'、number='+66719919 のテーブルから 42 Locked delete を準備します*
ドキュメント内の任意の場所で user_id を検索して (パターンに従っていない)、次のように出力できるようにしたいと考えています。
user_id=009
また
009
awkを使用してこれを達成するにはどうすればよいですか?
ありがとう。
awk '/user_id/{for(i=1;i<=NF;i++){if($i~/user_id/){split($i,a,"=");print a[2]}}}' your_file
テスト済み:
> echo "*Prepare type='test' and user_id='099' and number='+66719919*" | awk '/user_id/{for(i=1;i<=NF;i++){if($i~/user_id/){split($i,a,"=");print a[2]}}}'
'099'
別のもの:
> echo "*Prepare type='test' and user_id='099' and number='+66719919*" | awk '/user_id/{for(i=1;i<=NF;i++){if($i~/user_id/){ print $i}}}'
user_id='099'
grep を使用することもできます。
grep -o "user_id='\?[0-9]*'\?"
追加trして引用符を削除します。
grep -o "user_id='\?[0-9]*'\?" | tr -d \'