文字列とスペースの間のテキストを一致させる方法

文字列とスペースの間のテキストを一致させる方法

次のようにテキストファイルから行を読み取る単純なbashスクリプトがあります。

#!/bin/bash
FILE=$1
while read line; do

done < $FILE

文字列 "-type"とスペースの間のテキストを一致させたいので、私の行には次のものがあります。

 random text -type 53 random text

「53」を抽出してtype_number変数に代入したいと思います。 Cut、sed、grep、awkのどれがこれらの作業に適していますか?

ベストアンサー1

using sed -

echo "abcd 1234 -type 53 efgh 5678" |sed -r 's/^.*-type\s+([0-9]+).*$/\1/'
53

ここで使用されている行を$ lineに置き換えて変数に割り当てます。

おすすめ記事